2016-11-27 4 views
2

Я совершенно новичок в тензорном потоке, и я использую пример seq2seq translate. Я просмотрел код в translate.py, и обучение выполняется в бесконечном цикле, который время от времени сохраняет контрольные точки в файле translate.ckpt.Как начать переподготовку модели Tensorflow seq2seq из последнего сохраненного состояния?

Итак, если я прекратил обучение и хочу перезапустить его позже из последнего сохраненного состояния, как я могу это сделать?

Благодаря

ответ

0

Вместо инициирования переменных сеанса, необходимо восстановить переменные из файла:

saver = tf.train.Saver() 
with tf.Session() as sess: 
    # Restore variables from disk. 
    saver.restore(sess, "/tmp/model.ckpt") 
    print("Model restored.") 
    # Do some work with the model 

Обратите внимание, что ваша модель это просто значения переменных. Чтобы восстановить их, вам нужен граф с одинаковыми именами переменных. И, вероятно, операции, которые необходимо выполнить для расчета результатов.

Подробнее об этом здесь:

https://www.tensorflow.org/versions/r0.11/how_tos/variables/index.html#restoring-variables

0

Я понял это так, что я должен ответить на него. Пример seq2seq делает это по умолчанию. Если вы остановите цикл тренировки, а затем перезапустите его, он ищет сохраненные контрольные точки и перезагружает тренировку с того места, где он остановился в прошлый раз.

Смежные вопросы