Когда вы сохраняете модель, вы сохраняете 2 вещи: 1) мета-граф, то есть представление графа (все символы TF, которые вы определили; и 2) контрольную точку, которая содержит фактические значения переменных (которые являются сохранено и восстановлено по имени).
При восстановлении вы можете восстановить один или оба этих компонента. То, что вы описываете, восстанавливает как мета-график, так и данные контрольной точки. В этом случае вам нужно искать различные операции и тензоры, которые вас интересуют, по имени, что может сбивать с толку (особенно, если вы не называли свои переменные правильно, что вы всегда должны делать).
# In this method you import the meta graph then restore
saver = tf.train.import_meta_graph('my-save-dir/my-model-10000.meta')
saver.restore(sess, 'my-save-dir/my-model-10000')
Другой вариант восстановления (который я предпочитаю mysefl) - вообще не загружать мета-граф. Вместо этого просто повторно запустите тот же код, который вы изначально использовали для создания графика (если вы все сделали хорошо, все будет организовано в одном месте). Тогда вы только восстановите контрольно-пропускной пункт. Преимущество этого подхода заключается в том, что вы можете легко хранить ссылки на все необходимые операции (например, стоимость, train_op, заполнители и т. Д.).
# This method only performs the restor operation
# assuming the graph is already constructure
saver.restore(sess, 'my-save-dir/my-model-10000')