summaryrefslogtreecommitdiff
path: root/training/prepare_experiments.py
diff options
context:
space:
mode:
Diffstat (limited to 'training/prepare_experiments.py')
-rw-r--r--training/prepare_experiments.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/training/prepare_experiments.py b/training/prepare_experiments.py
new file mode 100644
index 0000000..21997af
--- /dev/null
+++ b/training/prepare_experiments.py
@@ -0,0 +1,34 @@
+"""Run a experiment from a config file."""
+import json
+
+import click
+import yaml
+
+
+def run_experiments(experiments_filename: str) -> None:
+ """Run experiment from file."""
+ with open(experiments_filename, "r") as f:
+ experiments_config = yaml.safe_load(f)
+
+ num_experiments = len(experiments_config["experiments"])
+ for index in range(num_experiments):
+ experiment_config = experiments_config["experiments"][index]
+ experiment_config["experiment_group"] = experiments_config["experiment_group"]
+ cmd = f"poetry run run-experiment --gpu=-1 --save '{json.dumps(experiment_config)}'"
+ print(cmd)
+
+
+@click.command()
+@click.option(
+ "--experiments_filename",
+ required=True,
+ type=str,
+ help="Filename of Yaml file of experiments to run.",
+)
+def run_cli(experiments_filename: str) -> None:
+ """Parse command-line arguments and run experiments from provided file."""
+ run_experiments(experiments_filename)
+
+
+if __name__ == "__main__":
+ run_cli()