def get_hyperparam_config(dataset): c = initialise_lstm_arguments() c['mode'] = 'train' c['exp_name'] = 'StandardLSTM' if dataset == 'MIMIC': c['no_diag'] = True c['dataset'] = dataset c = best_global(c) # hyper-parameter grid param_grid = { 'n_layers': [1, 2, 3, 4], 'learning_rate': list(np.logspace(np.log10(0.0001), np.log10(0.01), base=10, num=100)), 'batch_size': list( int(x) for x in np.logspace(np.log2(4), np.log2(512), base=2, num=8)), 'lstm_dropout_rate': [0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5], 'hidden_size': list( int(x) for x in np.logspace(np.log2(16), np.log2(256), base=2, num=5)), } c['n_layers'] = random.choice(param_grid['n_layers']) c['learning_rate'] = round(random.choice(param_grid['learning_rate']), 5) c['batch_size'] = random.choice(param_grid['batch_size']) c['lstm_dropout_rate'] = random.choice(param_grid['lstm_dropout_rate']) c['hidden_size'] = random.choice(param_grid['hidden_size']) return c
def get_hyperparam_config(dataset): c = initialise_lstm_arguments() c['mode'] = 'train' c['exp_name'] = 'ChannelwiseLSTM' if dataset == 'MIMIC': c['no_diag'] = True c['dataset'] = dataset c = best_lstm( c) # get best hyperparams from standard LSTM for this dataset c['channelwise'] = True hidden_size_choice = list( int(x) for x in np.logspace(np.log2(4), np.log2(16), base=2, num=6)) c['hidden_size'] = random.choice(hidden_size_choice) return c
from eICU_preprocessing.split_train_test import create_folder from models.run_lstm import BaselineLSTM from models.initialise_arguments import initialise_lstm_arguments from models.final_experiment_scripts.best_hyperparameters import best_lstm if __name__ == '__main__': c = initialise_lstm_arguments() c['exp_name'] = 'StandardLSTM' c['dataset'] = 'MIMIC' c['task'] = 'mortality' c = best_lstm(c) log_folder_path = create_folder('models/experiments/final/MIMIC/mortality', c.exp_name) baseline_lstm = BaselineLSTM( config=c, n_epochs=c.n_epochs, name=c.exp_name, base_dir=log_folder_path, explogger_kwargs={'folder_format': '%Y-%m-%d_%H%M%S{run_number}'}) baseline_lstm.run()