Восстановление правильной версии tensorflow

#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, и я недостаточно тщательно проверил свой синтаксис. Спасибо, что указали мне на это.