Add # threads as argument to experimentation

This commit is contained in:
2020-12-26 00:02:54 +01:00
parent c9755b968d
commit e089f8c972
4 changed files with 18 additions and 7 deletions

View File

@@ -92,6 +92,14 @@ def parse_arguments() -> Tuple[str, str, str, str, str, bool, bool, dict]:
action="store_true", action="store_true",
help="Exclude parameters in reports", help="Exclude parameters in reports",
) )
ap.add_argument(
"-t",
"--threads",
default=-1,
type=int,
required=False,
help="Number of threads to use or -1 for available cores",
)
args = ap.parse_args() args = ap.parse_args()
return ( return (
args.host, args.host,
@@ -103,6 +111,7 @@ def parse_arguments() -> Tuple[str, str, str, str, str, bool, bool, dict]:
args.standardize, args.standardize,
args.excludeparams, args.excludeparams,
args.kernel, args.kernel,
args.threads,
) )
@@ -116,6 +125,7 @@ def parse_arguments() -> Tuple[str, str, str, str, str, bool, bool, dict]:
standardize, standardize,
exclude_params, exclude_params,
kernel, kernel,
threads,
) = parse_arguments() ) = parse_arguments()
experiment = Experiment( experiment = Experiment(
@@ -124,6 +134,7 @@ experiment = Experiment(
host=host, host=host,
set_of_files=set_of_files, set_of_files=set_of_files,
kernel=kernel, kernel=kernel,
threads=threads,
) )
if experiment_type[0:6] == "report": if experiment_type[0:6] == "report":
bd = ( bd = (

View File

@@ -18,6 +18,7 @@ class Experiment:
host: str, host: str,
set_of_files: str, set_of_files: str,
kernel: str, kernel: str,
threads: int = -1,
) -> None: ) -> None:
self._random_state = random_state self._random_state = random_state
self._set_model(model) self._set_model(model)
@@ -28,6 +29,7 @@ class Experiment:
# base class or gridsearch these hyperparams as well # base class or gridsearch these hyperparams as well
self._base_params = "any" self._base_params = "any"
self._kernel = kernel self._kernel = kernel
self._threads = threads
def set_base_params(self, base_params: str) -> None: def set_base_params(self, base_params: str) -> None:
self._base_params = base_params self._base_params = base_params
@@ -78,7 +80,7 @@ class Experiment:
# Also affect subprocesses # Also affect subprocesses
os.environ["PYTHONWARNINGS"] = "ignore" os.environ["PYTHONWARNINGS"] = "ignore"
results = cross_validate( results = cross_validate(
model, X, y, return_train_score=True, n_jobs=-1 model, X, y, return_train_score=True, n_jobs=self._threads
) )
outcomes = Outcomes(host=self._host, model=self._model_name) outcomes = Outcomes(host=self._host, model=self._model_name)
parameters = json.dumps(parameters, sort_keys=True) parameters = json.dumps(parameters, sort_keys=True)
@@ -139,7 +141,7 @@ class Experiment:
model, model,
return_train_score=True, return_train_score=True,
param_grid=hyperparameters, param_grid=hyperparameters,
n_jobs=-1, n_jobs=self._threads,
verbose=1, verbose=1,
) )
start_time = time.time() start_time = time.time()

View File

@@ -1,16 +1,14 @@
#!/bin/bash #!/bin/bash
### Nombre de trabajo ### Nombre de trabajo
#PBS -N <experiment>-<data>-<model>-<kernel> #PBS -N <experiment>-<data>-<model>-<kernel>
### Tiempo máximo de ejecución del trabajo
#PBS -l walltime=96:00:00
### Seleccion de cola de trabajos ### Seleccion de cola de trabajos
#PBS -q workq #PBS -q workq
### mezcla errores con la salida principal ### mezcla errores con la salida principal
#PBS -j oe #PBS -j oe
### Recursos ### Recursos
#PBS -l select=2:ncpus=4:mem=16Gb #PBS -l select=1:ncpus=1:mem=16Gb
### Esportar variables de entorno ### Esportar variables de entorno
#PBS -V #PBS -V
### Ejecutable con sus parametros ### Ejecutable con sus parametros
cd <folder> cd <folder>
python experiment.py -H galgo -e <experiment> -m <model> -d <data> -S tanveer -k <kernel> -n 1 python experiment.py -H galgo -e <experiment> -m <model> -d <data> -S tanveer -k <kernel> -n 1 -t 4

View File

@@ -9,4 +9,4 @@
# LOAD MODULES, INSERT CODE, AND RUN YOUR PROGRAMS HERE # LOAD MODULES, INSERT CODE, AND RUN YOUR PROGRAMS HERE
cd <folder> cd <folder>
python experiment.py -H galgo -e <experiment> -m <model> -d <data> -S tanveer -k <kernel> -n 1 python experiment.py -H galgo -e <experiment> -m <model> -d <data> -S tanveer -k <kernel> -n 1 -t 4