def test_run_variations(): algo = algorithms.algorithm_by_name("LogisticRegression") res = run_variations( [algo], dataset_name="classification", bench_rows=[100, 200], bench_dims=[10, 20], ) assert res.shape[0] == 4 assert (res.n_samples == 100).sum() == 2 assert (res.n_features == 20).sum() == 2
(cfg_in["algo_name"] in algos): # Pass an actual algo object instead of an algo_name string cfg = cfg_in.copy() algo = algorithms.algorithm_by_name(cfg_in["algo_name"]) cfg["algos"] = [algo] alg_name = cfg["algo_name"] if alg_name.startswith('Sparse'): if alg_name.startswith('SparseCSR'): input_type = 'scipy-sparse-csr' elif alg_name.startswith('SparseCSC'): input_type = 'scipy-sparse-csc' else: input_type = 'numpy' del cfg["algo_name"] res = run_variations(**{ **default_args, **cfg }, input_type=input_type) all_results.append(res) results_df = pd.concat(all_results) print(results_df) if args.update_asv_dir: report_asv(results_df, args.update_asv_dir, cudaVer=args.report_cuda_ver, pythonVer=args.report_python_ver, osType=args.report_os_type, machineName=args.report_machine_name)
if args.algorithms: algos_to_run = [] for name in args.algorithms: algo = algorithms.algorithm_by_name(name) if not algo: raise ValueError("No %s 'algorithm' found" % name) algos_to_run.append(algo) else: # Run all by default algos_to_run = algorithms.all_algorithms() results_df = runners.run_variations( algos_to_run, dataset_name=args.dataset, bench_rows=bench_rows, bench_dims=bench_dims, input_type=args.input_type, test_fraction=args.test_split, param_override_list=param_override_list, cuml_param_override_list=cuml_param_override_list, cpu_param_override_list=cpu_param_override_list, dataset_param_override_list=dataset_param_override_list, run_cpu=(not args.skip_cpu), raise_on_error=args.raise_on_error, n_reps=args.n_reps ) if args.csv: results_df.to_csv(args.csv) print("Saved results to %s" % args.csv)
param_override_list = extract_param_overrides(args.param_sweep) cuml_param_override_list = extract_param_overrides(args.cuml_param_sweep) if args.algorithms: algos_to_run = [] for name in args.algorithms: algo = algorithms.algorithm_by_name(name) if not algo: raise ValueError("No %s 'algorithm' found" % name) algos_to_run.append(algo) else: # Run all by default algos_to_run = algorithms.all_algorithms() results_df = runners.run_variations( algos_to_run, dataset_name=args.dataset, bench_rows=bench_rows, bench_dims=bench_dims, input_type=args.input_type, param_override_list=param_override_list, cuml_param_override_list=cuml_param_override_list, run_cpu=(not args.skip_cpu), raise_on_error=args.raise_on_error ) if args.csv: results_df.to_csv(args.csv) print("Saved results to %s" % args.csv)
args = parser.parse_args() invalidAlgoNames = (set(args.algo) - allAlgoNames) if invalidAlgoNames: raise ValueError("Invalid algo name(s): %s" % invalidAlgoNames) bench_to_run = bench_config[args.benchmark] default_args = dict(run_cpu=False, n_reps=args.n_reps) all_results = [] for cfg_in in bench_to_run: if (args.algo is None) or ("ALL" in args.algo) or \ (cfg_in["algo_name"] in args.algo): # Pass an actual algo object instead of an algo_name string cfg = cfg_in.copy() algo = algorithms.algorithm_by_name(cfg_in["algo_name"]) cfg["algos"] = [algo] del cfg["algo_name"] res = run_variations(**{**default_args, **cfg}) all_results.append(res) results_df = pd.concat(all_results) print(results_df) if args.update_asv_dir: report_asv(results_df, args.update_asv_dir, cudaVer=args.report_cuda_ver, pythonVer=args.report_python_ver, osType=args.report_os_type, machineName=args.report_machine_name)