From bf2208c5b5b4ba2dbb16d6f8e5444e6e146df338 Mon Sep 17 00:00:00 2001 From: lukas leufen <l.leufen@fz-juelich.de> Date: Wed, 11 Dec 2019 09:54:39 +0100 Subject: [PATCH] new directory model_modules to collect all model methods and classes --- CI/run_pytest.sh | 2 +- run.py | 12 ++++++------ src/data_handling/data_distributor.py | 4 ++++ src/datastore.py | 6 +++--- src/helpers.py | 2 +- src/{modules => model_modules}/__init__.py | 0 src/{ => model_modules}/flatten.py | 2 +- src/{ => model_modules}/inception_model.py | 0 src/run_modules/__init__.py | 0 src/{modules => run_modules}/experiment_setup.py | 4 ++-- src/{modules => run_modules}/model_setup.py | 10 +++++----- src/{modules => run_modules}/modules.py | 6 +++--- src/run_modules/post_processing.py | 15 +++++++++++++++ src/{modules => run_modules}/pre_processing.py | 4 ++-- src/{modules => run_modules}/run_environment.py | 0 src/{modules => run_modules}/training.py | 3 +-- .../test_inception_model.py | 3 +-- test/test_modules/test_experiment_setup.py | 2 +- test/test_modules/test_model_setup.py | 4 ++-- test/test_modules/test_post_processing.py | 10 ++++++++++ test/test_modules/test_pre_processing.py | 6 +++--- test/test_modules/test_run_environment.py | 2 +- test/test_modules/test_training.py | 8 ++++---- 23 files changed, 66 insertions(+), 39 deletions(-) rename src/{modules => model_modules}/__init__.py (100%) rename src/{ => model_modules}/flatten.py (96%) rename src/{ => model_modules}/inception_model.py (100%) create mode 100644 src/run_modules/__init__.py rename src/{modules => run_modules}/experiment_setup.py (98%) rename src/{modules => run_modules}/model_setup.py (97%) rename src/{modules => run_modules}/modules.py (82%) create mode 100644 src/run_modules/post_processing.py rename src/{modules => run_modules}/pre_processing.py (98%) rename src/{modules => run_modules}/run_environment.py (100%) rename src/{modules => run_modules}/training.py (98%) rename test/{ => test_model_modules}/test_inception_model.py (99%) create mode 100644 test/test_modules/test_post_processing.py diff --git a/CI/run_pytest.sh b/CI/run_pytest.sh index 5547b7ab..a7d883dc 100644 --- a/CI/run_pytest.sh +++ b/CI/run_pytest.sh @@ -1,6 +1,6 @@ #!/bin/bash -# run pytest for all modules +# run pytest for all run_modules python3 -m pytest --html=report.html --self-contained-html test/ | tee test_results.out IS_FAILED=$? diff --git a/run.py b/run.py index e45b2dd6..18189f95 100644 --- a/run.py +++ b/run.py @@ -5,12 +5,12 @@ __date__ = '2019-11-14' import logging import argparse -from src.modules.experiment_setup import ExperimentSetup -from src.modules.run_environment import RunEnvironment -from src.modules.pre_processing import PreProcessing -from src.modules.model_setup import ModelSetup -from src.modules.training import Training -from src.modules.modules import PostProcessing +from src.run_modules.experiment_setup import ExperimentSetup +from src.run_modules.run_environment import RunEnvironment +from src.run_modules.pre_processing import PreProcessing +from src.run_modules.model_setup import ModelSetup +from src.run_modules.training import Training +from src.run_modules.modules import PostProcessing def main(parser_args): diff --git a/src/data_handling/data_distributor.py b/src/data_handling/data_distributor.py index 77f83536..74df5f6a 100644 --- a/src/data_handling/data_distributor.py +++ b/src/data_handling/data_distributor.py @@ -1,4 +1,8 @@ from __future__ import generator_stop + +__author__ = "Lukas Leufen, Felix Kleinert" +__date__ = '2019-12-05' + import math import keras diff --git a/src/datastore.py b/src/datastore.py index 5f0df675..923603f0 100644 --- a/src/datastore.py +++ b/src/datastore.py @@ -30,7 +30,7 @@ class EmptyScope(Exception): class AbstractDataStore(ABC): """ - Data store for all settings for the experiment workflow to save experiment parameters for the proceeding modules + Data store for all settings for the experiment workflow to save experiment parameters for the proceeding run_modules and predefine parameters loaded during the experiment setup phase. The data store is hierarchically structured, so that global settings can be overwritten by local adjustments. """ @@ -102,7 +102,7 @@ class AbstractDataStore(ABC): class DataStoreByVariable(AbstractDataStore): """ - Data store for all settings for the experiment workflow to save experiment parameters for the proceeding modules + Data store for all settings for the experiment workflow to save experiment parameters for the proceeding run_modules and predefine parameters loaded during the experiment setup phase. The data store is hierarchically structured, so that global settings can be overwritten by local adjustments. @@ -226,7 +226,7 @@ class DataStoreByVariable(AbstractDataStore): class DataStoreByScope(AbstractDataStore): """ - Data store for all settings for the experiment workflow to save experiment parameters for the proceeding modules + Data store for all settings for the experiment workflow to save experiment parameters for the proceeding run_modules and predefine parameters loaded during the experiment setup phase. The data store is hierarchically structured, so that global settings can be overwritten by local adjustments. diff --git a/src/helpers.py b/src/helpers.py index 2ef77689..40a3f976 100644 --- a/src/helpers.py +++ b/src/helpers.py @@ -1,6 +1,6 @@ import re -__author__ = 'Lukas Leufen' +__author__ = 'Lukas Leufen, Felix Kleinert' __date__ = '2019-10-21' diff --git a/src/modules/__init__.py b/src/model_modules/__init__.py similarity index 100% rename from src/modules/__init__.py rename to src/model_modules/__init__.py diff --git a/src/flatten.py b/src/model_modules/flatten.py similarity index 96% rename from src/flatten.py rename to src/model_modules/flatten.py index 1166cf32..707b0d44 100644 --- a/src/flatten.py +++ b/src/model_modules/flatten.py @@ -1,4 +1,4 @@ -__author__ = "Lukas Leufen" +__author__ = "Felix Kleinert, Lukas Leufen" __date__ = '2019-12-02' import keras diff --git a/src/inception_model.py b/src/model_modules/inception_model.py similarity index 100% rename from src/inception_model.py rename to src/model_modules/inception_model.py diff --git a/src/run_modules/__init__.py b/src/run_modules/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/src/modules/experiment_setup.py b/src/run_modules/experiment_setup.py similarity index 98% rename from src/modules/experiment_setup.py rename to src/run_modules/experiment_setup.py index 472173c7..f502e81b 100644 --- a/src/modules/experiment_setup.py +++ b/src/run_modules/experiment_setup.py @@ -1,4 +1,4 @@ -__author__ = "Lukas Leufen" +__author__ = "Lukas Leufen, Felix Kleinert" __date__ = '2019-11-15' @@ -7,7 +7,7 @@ import argparse from typing import Union, Dict, Any from src import helpers -from src.modules.run_environment import RunEnvironment +from src.run_modules.run_environment import RunEnvironment DEFAULT_STATIONS = ['DEBW107', 'DEBY081', 'DEBW013', 'DEBW076', 'DEBW087', 'DEBY052', 'DEBY032', 'DEBW022', 'DEBY004', diff --git a/src/modules/model_setup.py b/src/run_modules/model_setup.py similarity index 97% rename from src/modules/model_setup.py rename to src/run_modules/model_setup.py index f6c25aff..43625bdf 100644 --- a/src/modules/model_setup.py +++ b/src/run_modules/model_setup.py @@ -1,4 +1,4 @@ -__author__ = "Lukas Leufen" +__author__ = "Lukas Leufen, Felix Kleinert" __date__ = '2019-12-02' @@ -6,15 +6,15 @@ import keras from keras import losses from keras.callbacks import ModelCheckpoint from keras.regularizers import l2 -from keras.optimizers import Adam, SGD +from keras.optimizers import SGD import tensorflow as tf import logging import os -from src.modules.run_environment import RunEnvironment +from src.run_modules.run_environment import RunEnvironment from src.helpers import l_p_loss, LearningRateDecay -from src.inception_model import InceptionModelBase -from src.flatten import flatten_tail +from src.model_modules.inception_model import InceptionModelBase +from src.model_modules.flatten import flatten_tail class ModelSetup(RunEnvironment): diff --git a/src/modules/modules.py b/src/run_modules/modules.py similarity index 82% rename from src/modules/modules.py rename to src/run_modules/modules.py index 888c7e06..5f0f12c1 100644 --- a/src/modules/modules.py +++ b/src/run_modules/modules.py @@ -1,9 +1,9 @@ import logging import argparse -from src.modules.run_environment import RunEnvironment -from src.modules.experiment_setup import ExperimentSetup -from src.modules.pre_processing import PreProcessing +from src.run_modules.run_environment import RunEnvironment +from src.run_modules.experiment_setup import ExperimentSetup +from src.run_modules.pre_processing import PreProcessing class Training(RunEnvironment): diff --git a/src/run_modules/post_processing.py b/src/run_modules/post_processing.py new file mode 100644 index 00000000..c76ef1cc --- /dev/null +++ b/src/run_modules/post_processing.py @@ -0,0 +1,15 @@ +__author__ = "Lukas Leufen, Felix Kleinert" +__date__ = '2019-12-11' + + +from src.run_modules.run_environment import RunEnvironment + + +class PostProcessing(RunEnvironment): + + def __init__(self): + super().__init__() + self._run() + + def _run(self): + pass diff --git a/src/modules/pre_processing.py b/src/run_modules/pre_processing.py similarity index 98% rename from src/modules/pre_processing.py rename to src/run_modules/pre_processing.py index 8fad9d1b..8e11877f 100644 --- a/src/modules/pre_processing.py +++ b/src/run_modules/pre_processing.py @@ -1,4 +1,4 @@ -__author__ = "Lukas Leufen" +__author__ = "Lukas Leufen, Felix Kleinert" __date__ = '2019-11-25' @@ -7,7 +7,7 @@ from typing import Tuple, Dict, List from src.data_handling.data_generator import DataGenerator from src.helpers import TimeTracking -from src.modules.run_environment import RunEnvironment +from src.run_modules.run_environment import RunEnvironment from src.join import EmptyQueryResult diff --git a/src/modules/run_environment.py b/src/run_modules/run_environment.py similarity index 100% rename from src/modules/run_environment.py rename to src/run_modules/run_environment.py diff --git a/src/modules/training.py b/src/run_modules/training.py similarity index 98% rename from src/modules/training.py rename to src/run_modules/training.py index 87dcf35e..5dab3da2 100644 --- a/src/modules/training.py +++ b/src/run_modules/training.py @@ -1,4 +1,3 @@ - __author__ = "Lukas Leufen, Felix Kleinert" __date__ = '2019-12-05' @@ -7,7 +6,7 @@ import os import json import keras -from src.modules.run_environment import RunEnvironment +from src.run_modules.run_environment import RunEnvironment from src.data_handling.data_distributor import Distributor diff --git a/test/test_inception_model.py b/test/test_model_modules/test_inception_model.py similarity index 99% rename from test/test_inception_model.py rename to test/test_model_modules/test_inception_model.py index ad180595..82b754c2 100644 --- a/test/test_inception_model.py +++ b/test/test_model_modules/test_inception_model.py @@ -1,7 +1,6 @@ import pytest -from src.inception_model import InceptionModelBase +from src.model_modules.inception_model import InceptionModelBase import keras -import tensorflow as tf class TestInceptionModelBase: diff --git a/test/test_modules/test_experiment_setup.py b/test/test_modules/test_experiment_setup.py index bfff606e..4a2ba9f9 100644 --- a/test/test_modules/test_experiment_setup.py +++ b/test/test_modules/test_experiment_setup.py @@ -3,7 +3,7 @@ import logging import argparse import os -from src.modules.experiment_setup import ExperimentSetup +from src.run_modules.experiment_setup import ExperimentSetup from src.helpers import TimeTracking, prepare_host from src.datastore import NameNotFoundInScope, NameNotFoundInDataStore diff --git a/test/test_modules/test_model_setup.py b/test/test_modules/test_model_setup.py index 85cb24e3..d1cfe489 100644 --- a/test/test_modules/test_model_setup.py +++ b/test/test_modules/test_model_setup.py @@ -2,8 +2,8 @@ import pytest import os import keras -from src.modules.model_setup import ModelSetup -from src.modules.run_environment import RunEnvironment +from src.run_modules.model_setup import ModelSetup +from src.run_modules.run_environment import RunEnvironment from src.data_handling.data_generator import DataGenerator diff --git a/test/test_modules/test_post_processing.py b/test/test_modules/test_post_processing.py new file mode 100644 index 00000000..0eb7f741 --- /dev/null +++ b/test/test_modules/test_post_processing.py @@ -0,0 +1,10 @@ +import keras + +from src.run_modules.post_processing import PostProcessing + + +class TestPostProcessing: + + def test_init(self): + post = PostProcessing() + assert isinstance(post.model, keras.Model) diff --git a/test/test_modules/test_pre_processing.py b/test/test_modules/test_pre_processing.py index c884b146..14dd425a 100644 --- a/test/test_modules/test_pre_processing.py +++ b/test/test_modules/test_pre_processing.py @@ -2,11 +2,11 @@ import logging import pytest from src.helpers import PyTestRegex -from src.modules.experiment_setup import ExperimentSetup -from src.modules.pre_processing import PreProcessing, DEFAULT_ARGS_LIST, DEFAULT_KWARGS_LIST +from src.run_modules.experiment_setup import ExperimentSetup +from src.run_modules.pre_processing import PreProcessing, DEFAULT_ARGS_LIST, DEFAULT_KWARGS_LIST from src.data_handling.data_generator import DataGenerator from src.datastore import NameNotFoundInScope -from src.modules.run_environment import RunEnvironment +from src.run_modules.run_environment import RunEnvironment class TestPreProcessing: diff --git a/test/test_modules/test_run_environment.py b/test/test_modules/test_run_environment.py index 1eeaa02c..d82675b5 100644 --- a/test/test_modules/test_run_environment.py +++ b/test/test_modules/test_run_environment.py @@ -1,7 +1,7 @@ import logging from src.helpers import TimeTracking, PyTestRegex -from src.modules.run_environment import RunEnvironment +from src.run_modules.run_environment import RunEnvironment class TestRunEnvironment: diff --git a/test/test_modules/test_training.py b/test/test_modules/test_training.py index c91cb691..01cc0804 100644 --- a/test/test_modules/test_training.py +++ b/test/test_modules/test_training.py @@ -7,10 +7,10 @@ import json import shutil import logging -from src.inception_model import InceptionModelBase -from src.flatten import flatten_tail -from src.modules.training import Training -from src.modules.run_environment import RunEnvironment +from src.model_modules.inception_model import InceptionModelBase +from src.model_modules.flatten import flatten_tail +from src.run_modules.training import Training +from src.run_modules.run_environment import RunEnvironment from src.data_handling.data_distributor import Distributor from src.data_handling.data_generator import DataGenerator from src.helpers import LearningRateDecay, PyTestRegex -- GitLab