Advertisement
Guest User

Untitled

a guest
Mar 20th, 2019
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.87 KB | None | 0 0
  1. def create_model(x_train_ts, y_train_ts, x_test_ts, y_test_ts):
  2. x_train_ts, y_train_ts, x_test_ts, y_test_ts = build_data()
  3. lstm_model = Sequential()
  4. # (batch_size, timesteps, data_dim)
  5. lstm_model.add(LSTM({{choice([50, 100, 150])}}, batch_input_shape=(BATCH_SIZE, TIME_STEPS, x_train_ts.shape[2]), dropout=0.2,
  6. recurrent_dropout=0.2, stateful=True, return_sequences=True,
  7. kernel_initializer='random_uniform'))
  8. if {{choice(['one_lstm','two_lstm'])}} == 'two_lstm':
  9. lstm_model.add(LSTM({{choice([30, 60, 80])}}, dropout={{choice([0.1,0.2,0.3])}}))
  10. if {{choice(['one_dense','two_dense'])}} == 'two_dense':
  11. lstm_model.add(Dense({{choice([10, 20])}}, activation='relu'))
  12. lstm_model.add(Dense(1, activation='sigmoid'))
  13. if {{choice(['sgd','rms'])}} == 'rms':
  14. optimizer = optimizers.RMSprop(lr={{uniform(000.1, 0.1)}})
  15. else:
  16. optimizer = optimizers.SGD(lr={{uniform(000.1, 0.1)}}, decay=1e-6, momentum=0.9, nesterov=True)
  17. lstm_model.compile(loss='mean_squared_error', optimizer=optimizer) # binary_crossentropy
  18.  
  19. history = lstm_model.fit(x_train_ts, y_train_ts, epochs={{choice([20, 40, 60, 70])}}, verbose=2, batch_size=BATCH_SIZE,
  20. validation_data=[x_test_ts, y_test_ts],
  21. callbacks=[LogMetrics(search_params, params, comb_no), csv_logger])
  22.  
  23. val_error = np.amax(history.history['val_acc'])
  24. print('Best validation acc of epoch:', val_error)
  25. return {'loss': val_error, 'status': STATUS_OK, 'model': lstm_model} # if accuracy use '-' sign
  26.  
  27.  
  28. best_run, best_model = optim.minimize(model=create_model,
  29. data=data_dummy,
  30. algo=tpe.suggest,
  31. max_evals=2000,
  32. trials=Trials())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement