def test_machine_information(self): res = machine_information() self.assertIsInstance(res, list) self.assertGreater(len(res), 3) for r in res: self.assertIn('name', r) self.assertEqual(res[0]['name'], 'date')
def test_machine_information_pack(self): res = machine_information({'numpy', 'onnx'}) self.assertIsInstance(res, list) self.assertGreater(len(res), 3) nb = 0 for r in res: self.assertIn('name', r) if r['name'] == 'numpy': nb += 1 self.assertEqual(nb, 1)
def test_perf_onnxruntime_logreg(self): res = onnxruntime_perf_binary_classifiers()[0] bp = BenchPerf(res['pbefore'], res['pafter'], res['fct']) results = list(bp.enumerate_run_benchs(repeat=10, verbose=True)) results_df = pandas.DataFrame(results) temp = get_temp_folder(__file__, "temp_perf_onnxruntime_logreg") out = os.path.join(temp, "onnxruntime_logreg.perf.csv") results_df.to_csv(out, index=False) self.assertExists(out) subset = { 'sklearn', 'numpy', 'pandas', 'onnxruntime', 'skl2onnx', 'mlprodict' } df = pandas.DataFrame(machine_information(subset)) out = os.path.join(temp, "onnxruntime_logreg.time.csv") df.to_csv(out, index=False) self.assertExists(out)
# Runs the benchmark # ++++++++++++++++++ df = run_bench(verbose=True) df.to_csv("%s.perf.csv" % filename, index=False) print(df.head()) ######################### # Extract information about the machine used # ++++++++++++++++++++++++++++++++++++++++++ pkgs = [ 'numpy', 'pandas', 'sklearn', 'skl2onnx', 'onnxruntime', 'onnx', 'mlprodict' ] dfi = pandas.DataFrame(machine_information(pkgs)) dfi.to_csv("%s.time.csv" % filename, index=False) print(dfi) else: df = pandas.read_csv("%s.perf.csv" % filename) print(df.head()) ############################# # Plot the results # ++++++++++++++++ def label_fct(la): la = la.replace("-lib=", "") la = la.replace("rt=", "-") return la