«Не удалось преобразовать массив NumPy в тензор» при обучении модели keras LSTM

#python #numpy #keras #lstm

Вопрос:

Я пытаюсь обучить модель LSTM, но всегда сталкиваюсь с ошибкой «не удалось преобразовать массив NumPy в тензор». Из Интернета я пытался решить эту проблему с помощью чего-то подобного X = np.asarray(X).astype(np.float32) , но это не помогло.

 LstmModel = Sequential()

LstmModel.add(LSTM(units = 50, return_sequences = True, input_shape = (350,7)))
LstmModel.add(LSTM(units = 50, return_sequences = True))
LstmModel.add(Dropout(0.25))
LstmModel.add(Dense(units = 1))

LstmModel.compile(optimizer = 'adam', loss = 'mean_squared_error')

counter= 0
for trainIdx, testIdx in kfold.split(X_train, y_train):
    counter = counter   1
    # create callbacks
    model_path = 'best_model_set' str(setNumber) 'fold' str(counter) '.h5'
    mc = ModelCheckpoint(model_path, monitor='val_loss', mode='min', verbose=1, save_best_only=True)
    es = EarlyStopping(monitor='val_loss', min_delta=0, patience=3, verbose=1)
    #LstmModel.fit(X_train[trainIdx], y_train[trainIdx], batch_size=32,epochs=6, callbacks=[mc, es])
    LstmModel.fit(X_train[trainIdx], y_train[trainIdx], validation_data=(X_train[testIdx], y_train[testIdx]), batch_size=32, epochs=6, callbacks=[mc, es])
 

y_train-это что-то вроде
[[array([191., ..., 0.])] ...]
y_train.форма равна (100, 1),
X_train.форма равна (100, 350, 7)

Комментарии:

1. Ошибка всегда возникает в последней строке