Я пытаюсь предсказать многоэтапный подход для нескольких целей, используя LSTM. Мне удалось предсказать многоэтапный процесс для одной цели, используя приведенный ниже фрагмент, имеющий функции 4
временного шага и 4
для прогнозирования шагов 3
в будущем для одной цели.
multi_step_model = tf.keras.models.Sequential()
multi_step_model.add(tf.keras.layers.LSTM(9,
return_sequences=True,
input_shape= (4,4) ))
multi_step_model.add(tf.keras.layers.Dropout(0.2))
multi_step_model.add(tf.keras.layers.LSTM(6, return_sequences=True,activation='relu'))
multi_step_model.add(tf.keras.layers.Dropout(0.2))
multi_step_model.add(tf.keras.layers.LSTM(6, return_sequences=True, activation='relu'))
multi_step_model.add(tf.keras.layers.Dropout(0.2))
multi_step_model.add(tf.keras.layers.LSTM(6, activation='relu'))
multi_step_model.add(tf.keras.layers.Dense(3))
multi_step_model.compile(optimizer=tf.keras.optimizers.RMSprop(), loss='mse')
сейчас я пытаюсь предсказать 3
шагов в будущем для 2
целей. Я попытался multi_step_model.add(tf.keras.layers.Dense(6))
и изменил форму после этого, но я продолжаю получать ошибку ValueError: Dimensions must be equal, but are 6 and 2 for 'loss/dense_5_loss/SquaredDifference' (op: 'SquaredDifference') with input shapes: [?,6], [?,3,2].
это пример ввода
tf.Tensor(
[[0.16452622 0.16847719 0. 0. ]
[0.08228646 0.1512937 0. 0. ]
[0. 0.13667786 0. 0. ]
[0.53878485 0.23721114 0. 0. ]], shape=(4, 4), dtype=float64)
и вывода
tf.Tensor(
[[0.56759912 0. ]
[0.59277075 0.15346632]
[0.57964788 0.12541971]], shape=(3, 2), dtype=float64)