Архитектура модели
model = Sequential()
model.add(LSTM(50,batch_input_shape(50,10,9),return_sequences=True))
model.add(LSTM(30,return_sequences=True, activation='tanh'))
model.add(LSTM(20,return_sequences=False, activation='tanh'))
model.add(Dense(9, activation='tanh'))
model.compile(loss='mean_squared_logarithmic_error',
optimizer='adam',metrics=['accuracy'])
Резюме выглядит следующим образом
Layer (type) Output Shape Param #
=================================================================
lstm_1 (LSTM) (50, 10, 50) 12000
_________________________________________________________________
lstm_2 (LSTM) (50, 10, 30) 9720
_________________________________________________________________
lstm_3 (LSTM) (50, 20) 4080
_________________________________________________________________
dense_1 (Dense) (50, 9) 189
=================================================================
Total params: 25,989
Trainable params: 25,989
Non-trainable params: 0
Я использую fit_generator для обучения модели.Я намерен использовать предикт вместо предиката.Я написал собственный генератор, используя yeild.Нет проблем с этим, потому что предикат_генератор работает нормально
model.fit_generator(generator=generator,
steps_per_epoch=250, epochs=10, shuffle=True)
Когда я использую predict
model.predict(testX = np.zeros(50,10,9))
Это приводит меня к ошибке ниже
ValueError: Cannot feed value of shape (32, 10, 9) for Tensor
'lstm_1_input:0', which has shape '(50, 10, 9)'
СейчасЯ понятия не имею, откуда взялись эти 32, потому что входная форма (50,10,9) - это именно то, что он ожидает.