def build_rlstm(input_dim, h0_dim=40, h1_dim=None, output_dim=1, rec_layer_type=ReducedLSTMA, rec_layer_init='zero', fix_b_f=False, layer_type=TimeDistributedDense, lr=.001, base_name='rlstm', add_input_noise=True, add_target_noise=True): model = Sequential() if add_input_noise: model.add(GaussianNoise(.1, input_shape=(None, input_dim))) model.add(layer_type(h0_dim, input_dim=input_dim, init='uniform_small', W_regularizer=l2(0.0005), activation='tanh')) if h1_dim is not None: model.add(layer_type(h1_dim, init='uniform_small', W_regularizer=l2(0.0005), activation='tanh')) model.add(rec_layer_type(output_dim, init=rec_layer_init, fix_b_f=fix_b_f, return_sequences=True)) if add_target_noise: model.add(GaussianNoise(5.)) model.compile(loss="mse", optimizer=RMSprop(lr=lr)) model.base_name = base_name yaml_string = model.to_yaml() # print(yaml_string) with open(model_savedir + model.base_name+'.yaml', 'w') as f: f.write(yaml_string) return model
def build_reduced_lstm(input_dim, h0_dim=40, h1_dim=None, output_dim=1, rec_layer_type=ReducedLSTMA, rec_layer_init='uniform', layer_type=TimeDistributedDense, lr=.001, base_name='rlstm'): model = Sequential() model.add(layer_type(h0_dim, input_dim=input_dim, init='uniform', W_regularizer=l2(0.0005), activation='relu')) if h1_dim is not None: model.add(layer_type(h1_dim, init='uniform', W_regularizer=l2(0.0005), activation='relu')) # model.add(LSTM(h0_dim, # input_dim=input_dim, # init='uniform', # inner_activation='sigmoid', # return_sequences=True)) # model.add(Dropout(0.4)) # if h1_dim is not None: # model.add(LSTM(h1_dim, # init='uniform', # inner_activation='sigmoid', # return_sequences=True)) # model.add(Dropout(0.4)) model.add(rec_layer_type(output_dim, init=rec_layer_init, return_sequences=True)) model.compile(loss="mse", optimizer=RMSprop(lr=lr)) model.base_name = base_name yaml_string = model.to_yaml() # print(yaml_string) with open(model_savedir + model.base_name+'.yaml', 'w') as f: f.write(yaml_string) return model
def build_model(input_dim, h0_dim=20, h1_dim=20, output_dim=1, rec_layer_type=ReducedLSTMA, rec_layer_init='zero', layer_type=TimeDistributedDense, lr=.001, base_name='rlstm', add_input_noise=True, add_target_noise=True): model = Sequential() if add_input_noise: model.add(GaussianNoise(.1, input_shape=(None, input_dim))) model.add( LSTM(h0_dim, input_dim=input_dim, init='uniform_small', activation='tanh')) model.add(Dropout(.4)) model.add(LSTM(h1_dim, init='uniform_small', activation='tanh')) model.add(Dropout(.4)) model.add( rec_layer_type(output_dim, init=rec_layer_init, return_sequences=True)) if add_target_noise: model.add(GaussianNoise(5.)) model.compile(loss="mse", optimizer=RMSprop(lr=lr)) model.base_name = base_name yaml_string = model.to_yaml() # print(yaml_string) with open(model_savedir + model.base_name + '.yaml', 'w') as f: f.write(yaml_string) return model
def build_rlstm2(input_dim, h0_dim, h1_dim, output_dim=1, lstm_init='zero', lr=.001, base_name='rlstm', add_input_noise=True, add_target_noise=False): model = Sequential() if add_input_noise: model.add(GaussianNoise(.1, input_shape=(None, input_dim))) model.add( RLSTM(input_dim, h0_dim, h1_dim, output_dim, init=lstm_init, W_h0_regularizer=l2(0.0005), W_h1_regularizer=l2(0.0005), return_sequences=True)) # if add_target_noise: # model.add(GaussianNoise(5.)) model.compile(loss="mse", optimizer=RMSprop(lr=lr)) model.base_name = base_name yaml_string = model.to_yaml() # print(yaml_string) with open(model_savedir + model.base_name + '.yaml', 'w') as f: f.write(yaml_string) return model
def build_reduced_lstm(input_dim, h0_dim=40, h1_dim=None, output_dim=1, rec_layer_type=ReducedLSTMA, rec_layer_init='uniform', layer_type=TimeDistributedDense, lr=.001, base_name='rlstm'): model = Sequential() model.add( layer_type(h0_dim, input_dim=input_dim, init='uniform', W_regularizer=l2(0.0005), activation='relu')) if h1_dim is not None: model.add( layer_type(h1_dim, init='uniform', W_regularizer=l2(0.0005), activation='relu')) # model.add(LSTM(h0_dim, # input_dim=input_dim, # init='uniform', # inner_activation='sigmoid', # return_sequences=True)) # model.add(Dropout(0.4)) # if h1_dim is not None: # model.add(LSTM(h1_dim, # init='uniform', # inner_activation='sigmoid', # return_sequences=True)) # model.add(Dropout(0.4)) model.add( rec_layer_type(output_dim, init=rec_layer_init, return_sequences=True)) model.compile(loss="mse", optimizer=RMSprop(lr=lr)) model.base_name = base_name yaml_string = model.to_yaml() # print(yaml_string) with open(model_savedir + model.base_name + '.yaml', 'w') as f: f.write(yaml_string) return model
def build_rlstm2(input_dim, h0_dim, h1_dim, output_dim=1, lstm_init='zero', lr=.001, base_name='rlstm', add_input_noise=True, add_target_noise=False): model = Sequential() if add_input_noise: model.add(GaussianNoise(.1, input_shape=(None, input_dim))) model.add(RLSTM(input_dim, h0_dim, h1_dim, output_dim, init=lstm_init, W_h0_regularizer=l2(0.0005), W_h1_regularizer=l2(0.0005), return_sequences=True)) # if add_target_noise: # model.add(GaussianNoise(5.)) model.compile(loss="mse", optimizer=RMSprop(lr=lr)) model.base_name = base_name yaml_string = model.to_yaml() # print(yaml_string) with open(model_savedir + model.base_name+'.yaml', 'w') as f: f.write(yaml_string) return model