Включает ли model.save_weights состояние оптимизатора? - PullRequest
1 голос
/ 09 июля 2019

Если да, то как они это сделали? Я имею в виду, скажем, что у меня есть пользовательская модель с помощью подклассов. Мой оптимизатор - это отдельный объект. Как получается, что одна команда сохраняет веса двух разных объектов? В частности, откуда он знает, что эти два объекта связаны между собой? Это из-за магии, сделанной model.compile?

РЕДАКТИРОВАТЬ: Я только что понял, что модель имеет атрибут model.optimizer, это то, как Keras делает это? сделать оптимизатор атрибутом модели и будет сохранен вместе с ним?

1 Ответ

1 голос
/ 09 июля 2019

Нет, model.save_weights() сохраняет только параметры модели.Состояние компонентов, с которыми была скомпилирована модель (оптимизаторы, обратные вызовы, потери, метрики), не будет сохранено.

Вы должны использовать model.save(), чтобы сохранить оптимизатор модели и другие конфигурации обучения.Пожалуйста, обратитесь к этой документации (самый простой способ сохранить оптимизатор вместе с моделью).

Если вы по какой-то причине хотите использовать точно model.save_weights(), пожалуйста, обратитесь к этот вопрос о потоке стека о том, как сохранить оптимизатор модели (может быть немного сложнее).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...