Remove .py extension from commands

This commit is contained in:
2022-03-15 01:44:05 +01:00
parent 07fc043ea2
commit 48411322d7
7 changed files with 0 additions and 0 deletions

157
src/main Executable file
View File

@@ -0,0 +1,157 @@
#!/usr/bin/env python
import os
import argparse
from Experiments import Experiment, Datasets
from Results import Report
from Utils import EnvDefault
"""Do experiment and build result file, optionally print report with results
"""
def parse_arguments():
ap = argparse.ArgumentParser()
ap.add_argument(
"-s",
"--score",
action=EnvDefault,
envvar="score",
type=str,
required=True,
help="score name {accuracy, f1_macro, ...}",
)
ap.add_argument(
"-P",
"--platform",
action=EnvDefault,
envvar="platform",
type=str,
required=True,
help="Platform where the test is run",
)
ap.add_argument(
"-m",
"--model",
type=str,
required=True,
help="model name",
)
ap.add_argument(
"-n",
"--n_folds",
action=EnvDefault,
envvar="n_folds",
type=int,
required=True,
help="number of folds",
)
ap.add_argument(
"-p", "--hyperparameters", type=str, required=False, default="{}"
)
ap.add_argument(
"-f",
"--paramfile",
type=bool,
required=False,
default=False,
help="Use best hyperparams file?",
)
ap.add_argument(
"-g",
"--grid_paramfile",
type=bool,
required=False,
default=False,
help="Use grid searched hyperparams file?",
)
ap.add_argument(
"--title", type=str, required=True, help="experiment title"
)
ap.add_argument(
"-q",
"--quiet",
type=bool,
default=False,
required=False,
help="Wether to show progress bar or not",
)
ap.add_argument(
"-r",
"--report",
type=bool,
default=False,
required=False,
help="Report results",
)
ap.add_argument(
"-t",
"--stratified",
action=EnvDefault,
envvar="stratified",
type=str,
required=True,
help="Stratified",
)
ap.add_argument(
"-d",
"--dataset",
type=str,
required=False,
default=None,
help="Experiment with only this dataset",
)
args = ap.parse_args()
return (
args.stratified,
args.score,
args.model,
args.n_folds,
args.platform,
args.quiet,
args.hyperparameters,
args.paramfile,
args.grid_paramfile,
args.report,
args.title,
args.dataset,
)
(
stratified,
score,
model,
folds,
platform,
quiet,
hyperparameters,
paramfile,
grid_paramfile,
report,
experiment_title,
dataset,
) = parse_arguments()
report = report or dataset is not None
if grid_paramfile:
paramfile = False
job = Experiment(
score_name=score,
model_name=model,
stratified=stratified,
datasets=Datasets(dataset=dataset),
hyperparams_dict=hyperparameters,
hyperparams_file=paramfile,
grid_paramfile=grid_paramfile,
progress_bar=not quiet,
platform=platform,
title=experiment_title,
folds=folds,
)
job.do_experiment()
if report:
result_file = job.get_output_file()
report = Report(result_file)
report.report()
if dataset is not None:
print(f"Partial result file removed: {result_file}")
os.remove(result_file)