Я обнаружил, что существуют различные способы сохранения/восстановления моделей и переменных в Tensorflow
. Эти способы включают:
В документах с тензорными потоками я обнаружил некоторые различия между ними:
tf.saved_model
- тонкая оболочка вокруг tf.train.Saver
tf.train.Checkpoint
поддерживает нетерпеливое выполнение, но tf.train.Saver
нет.tf.train.Checkpoint
не создает файл .meta
но все равно может загружать структуру графика (вот большой вопрос, как это можно сделать?) Как tf.train.Checkpoint
может загружать график без. .meta
файла? или, в более общем смысле, в чем разница между tf.train.Saver
и tf.train.Checkpoint
?
Согласно документам Tensorflow:
Checkpoint.save
иCheckpoint.restore
записывают и читают контрольные точки на основе объектов, в отличие отtf.train.Saver
который записывает и считывает контрольные точки на основе переменных. Объектно-ориентированная контрольная точка сохраняет график зависимостей между объектами Python (Слои, Оптимизаторы, Переменные и т.д.) С именованными ребрами, и этот граф используется для сопоставления переменных при восстановлении контрольной точки. Он может быть более устойчивым к изменениям в программе Python и помогает поддерживать восстановление при создании для переменных при выполнении с нетерпением. Предпочитаетеtf.train.Checkpoint
черезtf.train.Saver
для нового кода.