Beispiel #1
0
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
Beispiel #2
0
           (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)
Beispiel #3
0
    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)
Beispiel #4
0
    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)
Beispiel #5
0
    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)