#python #tensorflow
#python #tensorflow
Вопрос:
Несколько недель назад я работал над проектом и установил более старую версию tensorflow, чтобы попытаться устранить возникшую у меня проблему. Это сработало не так, как я надеялся, и я устанавливаю последнюю версию tensorflow, но теперь я регулярно получаю сообщения об ошибках, связанных с тем, что tensorflow устарел. Они не останавливают выполнение программы, но они есть. Насколько я знаю, у меня установлена самая последняя версия, но я думаю, что я, должно быть, чего-то не хватает. Это пример одной из ошибок, которые я получаю: WARNING: tensorflow: Can save best model only with val_loss available, skipping
. Это происходит, когда я пытаюсь сохранить модель keras с помощью ModelCheckpoint
. Я получаю другое сообщение при использовании model_save()
. Кажется, проблемы возникают всякий раз, когда я пытаюсь каким-либо образом сохранить какую-либо модель. Если у кого-нибудь есть какой-либо совет, я был бы рад.
Я использую Python в Google Colab. Пожалуйста, дайте мне знать, если вам понадобится от меня дополнительная информация.
Редактировать: Добавление кода для ModelCheckpoint:
save=ModelCheckpoint("/content/drive/My Drive/Colab Notebooks/cavity data/Frequency Model.h5", save_best_only=True, verbose=1)
затем он был вызван model.fit()
следующим образом:
model.fit(X_train, Y_train, epochs=500, callbacks=[save, stop], verbose=1)
Комментарии:
1. пожалуйста, покажите код для ModelCheckpoint
Ответ №1:
Монитором по умолчанию для ModelCheckpoint является потеря проверки или «val_loss».
Как следует из предупреждения, ключ «val_loss» отсутствует, потому что вы не использовали данные проверки в model.fit().
Либо укажите разделение проверки или данные проверки в model.fit(), либо просто используйте потери при обучении или точность в качестве монитора для ModelCheckpoint, как в моем примере ниже.
monitor = "accuracy" # or "loss"
save = ModelCheckpoint("/content/drive/My Drive/Colab Notebooks/cavity data/Frequency Model.h5", monitor=monitor, save_best_only=True, verbose=1)
model.fit(X_train, Y_train, epochs=500, callbacks=[save, stop], verbose=1)
Комментарии:
1. Спасибо! Конечно, так оно и было. Я предположил, что это была другая проблема с tensorflow, и я недостаточно тщательно проверил свой синтаксис. Спасибо, что указали мне на это.