Skip to content
Snippets Groups Projects
Commit 886b02d0 authored by lukas leufen's avatar lukas leufen
Browse files

more parameters set in experiment setup, log all set params in debug mode

parent 7622fe10
No related branches found
No related tags found
3 merge requests!12Experiment Setup finished,!11finish run script creation, /close #11,!10finish class ExperimentSetup
Pipeline #25934 passed
...@@ -56,3 +56,4 @@ htmlcov/ ...@@ -56,3 +56,4 @@ htmlcov/
.pytest_cache .pytest_cache
/test/data/ /test/data/
report.html report.html
/TestExperiment/
...@@ -38,25 +38,44 @@ class run(object): ...@@ -38,25 +38,44 @@ class run(object):
class ExperimentSetup: class ExperimentSetup:
"""
params:
trainable: Train new model if true, otherwise try to load existing model
"""
def __init__(self): def __init__(self, trainable=False):
self.data_path = None self.data_path = None
self.experiment_path = None self.experiment_path = None
self.experiment_name = None self.experiment_name = None
self.trainable = False self.trainable = None
self.setup_experiment() self.fraction_of_train = None
self.use_all_stations_on_all_data_sets = None
self.setup_experiment(trainable)
def setup_experiment(self): def _set_param(self, param, value):
setattr(self, param, value)
logging.debug(f"set attribute: {param}={value}")
def setup_experiment(self, trainable):
# set data path of this experiment # set data path of this experiment
self.data_path = helpers.prepare_host() self._set_param("data_path", helpers.prepare_host())
# set experiment name # set experiment name
experiment_date = parser.parse_args(["experiment_date"]) exp_date = args.experiment_date
self.experiment_name, self.experiment_path = helpers.set_experiment_name(experiment_date=experiment_date) exp_name, exp_path = helpers.set_experiment_name(experiment_date=exp_date)
self._set_param("experiment_name", exp_name)
self._set_param("experiment_path", exp_path)
helpers.check_path_and_create(self.experiment_path)
# set if model is trainable
self._set_param("trainable", trainable)
# set fraction of train
self._set_param("fraction_of_train", 0.8)
# set if model shall be trained or not # use all stations on all data sets (train, val, test)
self.trainable = True self._set_param("use_all_stations_on_all_data_sets", True)
class PreProcessing(run): class PreProcessing(run):
...@@ -83,11 +102,12 @@ class PostProcessing(run): ...@@ -83,11 +102,12 @@ class PostProcessing(run):
if __name__ == "__main__": if __name__ == "__main__":
parser = argparse.ArgumentParser() parser = argparse.ArgumentParser()
parser.add_argument('experiment date', metavar='exp_date', type=str, nargs=1, help='set experiment date as string', parser.add_argument('--experiment_date', metavar='--exp_date', type=str, nargs=1, default=None,
default=None) help="set experiment date as string")
args = parser.parse_args()
with run(): with run():
exp_setup = ExperimentSetup() exp_setup = ExperimentSetup(trainable=True)
PreProcessing(exp_setup) PreProcessing(exp_setup)
......
...@@ -161,7 +161,7 @@ def prepare_host(): ...@@ -161,7 +161,7 @@ def prepare_host():
def set_experiment_name(experiment_date=None, experiment_path=None): def set_experiment_name(experiment_date=None, experiment_path=None):
if experiment_date is None: if experiment_date is None:
experiment_name = "" experiment_name = "TestExperiment"
else: else:
experiment_name = f"{experiment_date}_network/" experiment_name = f"{experiment_date}_network/"
if experiment_path is None: if experiment_path is None:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment