#python #tensorflow #keras #deep-learning
#python #тензорный поток #keras #глубокое обучение
Вопрос:
Я прохожу курс — Введение в глубокое обучение из Kaggle.com . Когда я запускаю код
early_stopping = keras.callbacks.EarlyStopping(
patience=10,
min_delta=0.001,
restore_best_weights=True,
)
history = model.fit(
X_train, y_train,
validation_data=(X_valid, y_valid),
batch_size=512,
epochs=1000,
callbacks=[early_stopping],
verbose=0, # hide the output because we have so many epochs
)
Я получаю эту ошибку.
Error when checking input: expected dense_3_input to have shape (33,) but got array with shape (34,)
полный код. Пожалуйста, помогите мне объяснить ошибку. Заранее спасибо 🙂
Комментарии:
1. Пожалуйста, укажите код для модели.
2. Каков размер ваших X_train, y_train, X_valid и y_valid?
3. Я взглянул на ссылку, которую вы упомянули. Похоже, что набор данных действительно имеет 34 функции, а вывод двоичный. Так что, возможно, они допустили ошибку, и значение
input_shape
должно быть равно34
4. Теперь он работает. В наборе данных есть пустой объект. Я его не отбрасывал. Не удаляя его, input_shape должен быть 34, поскольку в наборе данных 34 объекта. Теперь, отбросив пустую функцию, все работает нормально. Спасибо.
Ответ №1:
Пишу ответ в разделе ответов, хотя он присутствует в разделе комментариев в интересах сообщества.
В наборе данных есть пустой объект. Я его не отбрасывал. Не удаляя его, input_shape должен быть 34, поскольку в наборе данных 34 объекта. Теперь, отбросив пустую функцию, все работает нормально.