Согласно документации, слой LSTM должен обрабатывать входные данные в форме (None, CONST, CONST).Для переменного временного шага он должен иметь возможность обрабатывать входные данные в форме (None, None, CONST) .
Допустим, мои данные следующие:
X = [
[
[1, 2, 3],
[4, 5, 6]
],
[
[7, 8, 9]
]
]
Y = [0, 1]
И моя модель:
model = tf.keras.models.Sequential([
tf.keras.layers.LSTM(32, activation='tanh',input_shape=(None, 3)),
tf.keras.layers.Dense(1, activation='sigmoid')
])
model.compile(loss='categorical_crossentropy', optimizer='adam')
model.fit(X, Y)
Мой вопрос: как мне отформатировать эти входные данные , чтобы этот код работал?
Я не могу использоватьпанды, вот как я привык.Если я запускаю приведенный выше код, я получаю эту ошибку:
Error when checking model input: the list of Numpy arrays that you are passing to your model is not the size the model expected. Expected to see 1 array(s), but instead got the following list of 2 arrays:
И если я изменяю последнюю строку на:
model.fit(np.array(X), np.array(Y))
Ошибка теперь:
Error when checking input: expected lstm_8_input to have 3 dimensions, but got array with shape (2, 1)