Используйте
model.fit(X, y, batch_size=128, validation_split=0.1,
epochs=300,callbacks=callbacks,verbose=1)
Ошибка: Ваш ModelCheckpoint
основан на val_loss
, т. Е. Каждый раз, когда он находит лучшую (в данном случае минимальную) потерю проверки, он сохраняет модель. Однако, когда вы подгоняете модель, вы не передаете никакие данные для проверки. Это означает, что потери при проверке не рассчитываются, поэтому модель не сохраняется.
В приведенном выше коде validation_split=0.1
использует 10% от (X, y)
в качестве данных проверки.
Также обратите внимание, что другой обратный вызов EarlyStopping
также основан на val_loss
, поэтому без данных проверки он не сможет выполнить раннюю остановку. Поэтому либо вручную передайте данные проверки в метод fit
, либо используйте случайное разбиение (X, y)
в качестве данных проверки.