Tensorflow LSTM модель многомерного вывода - PullRequest
0 голосов
/ 26 марта 2020

Я создал модель LSTM в тензорных потоках, которая принимает различные погодные параметры в качестве входных данных и выводит прогноз для температуры.

Ниже приведен код, использованный для создания моей модели.

    input1 = tf.keras.layers.Input(shape=(36,3))
    lstm1 = tf.keras.layers.LSTM(16,return_sequences=True)(input1)
    lstm2 = tf.keras.layers.LSTM(8,activation='relu')(lstm1)

    input2 = tf.keras.layers.Input(shape=(12,3))
    lstm3 = tf.keras.layers.LSTM(16,return_sequences=True)(input2)
    lstm4 = tf.keras.layers.LSTM(8,activation='relu')(lstm3)

    concat = tf.keras.layers.Concatenate()([lstm2, lstm4])
    lstm5 = tf.keras.layers.Dense(8,activation='relu')(concat)


    output = tf.keras.layers.Dense(FUTURE)(lstm5)

    full_model = tf.keras.Model(inputs=[input1,input2], outputs=[output])
    full_model.compile(optimizer=tf.keras.optimizers.RMSprop(clipvalue=1.0), loss='mae')

And the model summary is as follows:

__________________________________________________________________________________________________
Layer (type)                    Output Shape         Param #     Connected to                     
==================================================================================================
input_1 (InputLayer)            [(None, 36, 3)]      0                                            
__________________________________________________________________________________________________
input_2 (InputLayer)            [(None, 12, 3)]      0                                            
__________________________________________________________________________________________________
lstm (LSTM)                     (None, 36, 16)       1280        input_1[0][0]                    
__________________________________________________________________________________________________
lstm_2 (LSTM)                   (None, 12, 16)       1280        input_2[0][0]                    
__________________________________________________________________________________________________
lstm_1 (LSTM)                   (None, 8)            800         lstm[0][0]                       
__________________________________________________________________________________________________
lstm_3 (LSTM)                   (None, 8)            800         lstm_2[0][0]                     
__________________________________________________________________________________________________
concatenate (Concatenate)       (None, 16)           0           lstm_1[0][0]                     
                                                                 lstm_3[0][0]                     
__________________________________________________________________________________________________
dense (Dense)                   (None, 8)            136         concatenate[0][0]                
__________________________________________________________________________________________________
dense_1 (Dense)                 (None, 12)           108         dense[0][0]                      
==================================================================================================
Total params: 4,404
Trainable params: 4,404
Non-trainable params: 0
__________________________________________________________________________________________________

Теперь я хочу изменить вывод модели так, чтобы она предсказывала как температуру, так и скорость ветра, но мне пока не повезло.

Я изменил свои y_data, чтобы включить и температуру, и скорость ветра, поэтому форма вывода должна быть (Нет, 12,2).

Как вывести трехмерные данные из модели LSTM? До сих пор я пробовал слои Reshape и Flatten, но мне это не помогло.

...