diff --git a/mlair/run_modules/model_setup.py b/mlair/run_modules/model_setup.py index 83efac734c079602ab6003a7b690bea895233a93..c089062428667a2356c16087f454ae4ca94269d7 100644 --- a/mlair/run_modules/model_setup.py +++ b/mlair/run_modules/model_setup.py @@ -13,6 +13,7 @@ import tensorflow as tf from mlair.model_modules.keras_extensions import HistoryAdvanced, CallbackHandler from mlair.run_modules.run_environment import RunEnvironment +from mlair.configuration import path_config class ModelSetup(RunEnvironment): @@ -162,7 +163,8 @@ class ModelSetup(RunEnvironment): df.loc[k] = v df.sort_index(inplace=True) column_format = "ll" - path = self.data_store.get("model_path") + path = os.path.join(self.data_store.get("experiment_path"), "latex_report") + path_config.check_path_and_create(path) df.to_latex(os.path.join(path, "model_settings.tex"), na_rep='---', column_format=column_format) df.to_markdown(open(os.path.join(path, "model_settings.md"), mode="w", encoding='utf-8'), tablefmt="github") diff --git a/mlair/run_modules/training.py b/mlair/run_modules/training.py index 0c516c577201c62badd3d2b769a291612dce0c5a..23347a30b6e55c6903154128aab055d39045c965 100644 --- a/mlair/run_modules/training.py +++ b/mlair/run_modules/training.py @@ -15,6 +15,7 @@ from mlair.data_handling import Distributor from mlair.model_modules.keras_extensions import CallbackHandler from mlair.plotting.training_monitoring import PlotModelHistory, PlotModelLearningRate from mlair.run_modules.run_environment import RunEnvironment +from mlair.configuration import path_config class Training(RunEnvironment): @@ -82,6 +83,7 @@ class Training(RunEnvironment): if self._trainable: self.train() self.save_model() + self.report_training() else: logging.info("No training has started, because trainable parameter was false.") @@ -228,3 +230,20 @@ class Training(RunEnvironment): # plot learning rate if lr_sc: PlotModelLearningRate(filename=os.path.join(path, f"{name}_history_learning_rate.pdf"), lr_sc=lr_sc) + + def report_training(self): + data = {"mini batches": len(self.train_set), + "upsampling extremes": self.train_set.upsampling, + "shuffling": self.train_set.do_data_permutation, + "created new model": self._create_new_model, + "epochs": self.epochs, + "batch size": self.batch_size} + import pandas as pd + df = pd.DataFrame.from_dict(data, orient="index", columns=["training setting"]) + df.sort_index(inplace=True) + column_format = "ll" + path = os.path.join(self.data_store.get("experiment_path"), "latex_report") + path_config.check_path_and_create(path) + df.to_latex(os.path.join(path, "training_settings.tex"), na_rep='---', column_format=column_format) + df.to_markdown(open(os.path.join(path, "training_settings.md"), mode="w", encoding='utf-8'), + tablefmt="github") \ No newline at end of file