Могу ли я использовать Keras Tuner для одномерного прогнозирования временных рядов с использованием оптимизации гиперпараметров LSTM?

#python #keras #lstm #hyperparameters #bilstm

Вопрос:

Я пытаюсь использовать несколько моделей LSTM, таких как ванильные, сложенные, двунаправленные, в своих данных, но поиск лучших гиперпараметров очень затратен. При использовании TPU на Colab Pro моя программа выходит из строя после более чем 10 часов работы, которые я пробовал несколько раз.

Вот мой код:

 epochs = [10, 25, 50] activations = ['tanh', 'relu', 'selu'] layers1 = [32, 64, 100] layers2 = [32, 64, 100] layers3 = [32, 64, 100] optimizers = ['adam', 'sgd', 'rmsprop'] ep_bi=[] act_bi=[] opt_bi=[] lay1_bi=[] lay2_bi=[] lay3_bi=[] rmse_bi=[] map_bi=[]  for epoch in epochs:  for activation in activations:  for layer1 in layers1:  for layer2 in layers2:  for layer3 in layers3:  for optimizer in optimizers:  print(epoch)  print(activation)  print(layer1)  print(layer2)  print(layer3)  print(optimizer)  # define model  model_bi_lstm = Sequential()  model_bi_lstm.add(Bidirectional(LSTM(layer1, activation=activation, use_bias=True), input_shape=(n_step, n_features)))  model_bi_lstm.add(Bidirectional(LSTM(layer2, activation=activation, use_bias=True), input_shape=(n_step, n_features)))  model_bi_lstm.add(Bidirectional(LSTM(layer3, activation=activation, use_bias=True), input_shape=(n_step, n_features)))  model_bi_lstm.add(Dense(1))  model_bi_lstm.compile(optimizer=optimizer, loss='mse')   # fit model  history = model_bi_lstm.fit(X, y, epochs=epochs, verbose=1)   #Summary of the model  print(model_bi_lstm.summary())  

Это еще не весь код.

Интересно, можно ли использовать Keras Tuner для поиска лучших гиперпараметров для этой ситуации? Я провел свое исследование, но ничего не смог найти, хотя Keras Tuner можно использовать для оптимизации модели классификации.

Любые предложения будут оценены по достоинству.