diff --git a/run.py b/run.py index bfe1c7ed62d9b2e8a707c117e252ff3f931f339a..5c2e383346084bf5f27e6d425e513984d28a4129 100644 --- a/run.py +++ b/run.py @@ -3,6 +3,7 @@ __date__ = '2019-11-14' import argparse +import json from src.run_modules.experiment_setup import ExperimentSetup from src.run_modules.partition_check import PartitionCheck @@ -14,11 +15,21 @@ from src.run_modules.training import Training def main(parser_args): + + station_filename= "German_background_stations.json" # "German_stations.json" + with open(station_filename) as jfile: + stations = json.load(jfile) with RunEnvironment(): - ExperimentSetup(parser_args, stations=['DEBW107', 'DEBY081', 'DEBW013', 'DEBW076', 'DEBW087', 'DEBW001'], - station_type='background', trainable=False, create_new_model=True, window_history_size=6, - create_new_bootstraps=False) + + ExperimentSetup(parser_args, + #stations=stations, + stations=['DEBW107', 'DEBY081', 'DEBW013', 'DEBW076', 'DEBW087', 'DEBW001'], + station_type='background', window_lead_time=4, window_history_size=6, + trainable=False, create_new_model=True, permute_data_on_training=True, + extreme_values=3., train_min_length=365*5, val_min_length=365, test_min_length=365*2, + create_new_bootstraps=True,) + PreProcessing() PartitionCheck() diff --git a/src/model_modules/model_class.py b/src/model_modules/model_class.py index b46213e591798861fea4f0da13c9bab824200b4b..865cab8842536d2ead53c42f959c51df6f2635be 100644 --- a/src/model_modules/model_class.py +++ b/src/model_modules/model_class.py @@ -502,9 +502,10 @@ class MyPaperModel(AbstractModelClass): self.channels = channels self.dropout_rate = .3 self.regularizer = keras.regularizers.l2(0.001) - self.initial_lr = 1e-3 + # self.initial_lr = 1e-4 + self.initial_lr = 0.01 self.lr_decay = src.model_modules.keras_extensions.LearningRateDecay(base_lr=self.initial_lr, drop=.94, epochs_drop=10) - self.epochs = 150 + self.epochs = 3 # 350 self.batch_size = int(256 * 2) self.activation = keras.layers.ELU self.padding = "SymPad2D" @@ -541,15 +542,15 @@ class MyPaperModel(AbstractModelClass): pool_settings_dict1 = {'pool_kernel': (3, 1), 'tower_filter': 16, 'activation': activation} conv_settings_dict2 = { - 'tower_1': {'reduction_filter': 64, 'tower_filter': 32 * 2, 'tower_kernel': (3, 1), + 'tower_1': {'reduction_filter': 64, 'tower_filter': 32 * 2 * 2, 'tower_kernel': (3, 1), 'activation': activation}, - 'tower_2': {'reduction_filter': 64, 'tower_filter': 32 * 2, 'tower_kernel': (5, 1), + 'tower_2': {'reduction_filter': 64, 'tower_filter': 32 * 2 * 2, 'tower_kernel': (5, 1), 'activation': activation}, - 'tower_3': {'reduction_filter': 64, 'tower_filter': 32 * 2, 'tower_kernel': (1, 1), + 'tower_3': {'reduction_filter': 64, 'tower_filter': 32 * 2 * 2, 'tower_kernel': (1, 1), 'activation': activation}, # 'tower_4':{'reduction_filter':8*2, 'tower_filter':16*2, 'tower_kernel':(7,1), 'activation':activation}, } - pool_settings_dict2 = {'pool_kernel': (3, 1), 'tower_filter': 32, 'activation': activation} + pool_settings_dict2 = {'pool_kernel': (3, 1), 'tower_filter': 32 * 2, 'activation': activation} conv_settings_dict3 = { 'tower_1': {'reduction_filter': 64 * 2, 'tower_filter': 32 * 4, 'tower_kernel': (3, 1), @@ -571,7 +572,7 @@ class MyPaperModel(AbstractModelClass): pad_size = PadUtils.get_padding_for_same(first_kernel) # X_in = adv_pad.SymmetricPadding2D(padding=pad_size)(X_input) # X_in = inception_model.padding_layer("SymPad2D")(padding=pad_size, name="SymPad")(X_input) # adv_pad.SymmetricPadding2D(padding=pad_size)(X_input) - X_in = Padding2D("SymPad2D")(padding=pad_size, name="SymPad")(X_input) + X_in = Padding2D(self.padding)(padding=pad_size, name=f"First_{self.padding}")(X_input) X_in = keras.layers.Conv2D(filters=first_filters, kernel_size=first_kernel, kernel_regularizer=self.regularizer, @@ -614,3 +615,5 @@ class MyPaperModel(AbstractModelClass): self.optimizer = keras.optimizers.SGD(lr=self.initial_lr, momentum=0.9) self.compile_options = {"loss": [keras.losses.mean_squared_error, keras.losses.mean_squared_error], "metrics": ['mse', 'mea']} + + diff --git a/src/run_modules/model_setup.py b/src/run_modules/model_setup.py index e8259b2847ea4ede1b365f49778f019c004fa7f1..cddebd84d64266a00b1682ebc08032b072420f1a 100644 --- a/src/run_modules/model_setup.py +++ b/src/run_modules/model_setup.py @@ -10,9 +10,9 @@ import tensorflow as tf from src.model_modules.keras_extensions import HistoryAdvanced, CallbackHandler # from src.model_modules.model_class import MyBranchedModel as MyModel -from src.model_modules.model_class import MyLittleModel as MyModel +# from src.model_modules.model_class import MyLittleModel as MyModel # from src.model_modules.model_class import MyTowerModel as MyModel -# from src.model_modules.model_class import MyPaperModel as MyModel +from src.model_modules.model_class import MyPaperModel as MyModel from src.run_modules.run_environment import RunEnvironment