2016-12-08 8 views
4

Я хочу использовать свою нейронную сеть, не тренируя сеть снова. Я читал оКак восстановить сеанс в тензорном потоке?

save_path = saver.save(sess, "model.ckpt") 
print("Model saved in file: %s" % save_path) 

и теперь у меня есть 3 файлов в папке: контрольной точки model.ckpt model.ckpt.meta

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

Как это сделать?

ответ

2

Чтобы сохранить модель вы можете сделать так:

model_checkpoint = 'model.chkpt' 

# Create the model 
... 
... 

with tf.Session() as sess: 
    sess.run(tf.initialize_all_variables()) 

    # Create a saver so we can save and load the model as we train it 
    tf_saver = tf.train.Saver(tf.all_variables()) 

    # (Optionally) do some training of the model 
    ... 
    ... 

    tf_saver.save(sess, model_checkpoint) 

Я предполагаю, что вы уже сделали это, так как вы получили три файла. Если вы хотите, чтобы загрузить модель в другом классе, вы можете сделать это следующим образом:

# The same file as we saved earlier 
model_checkpoint = 'model.chkpt' 

# Create the SAME model as before 
... 
... 

with tf.Session() as sess: 
    # Restore the model 
    tf_saver = tf.train.Saver() 
    tf_saver.restore(sess, model_checkpoint) 

    # Now your model is loaded with the same values as when you saved, 
    # and you can do prediction or continue training 
+0

спасибо. Я получил сообщение об ошибке: ValueError: нет переменных для сохранения –

+0

Получаете ли вы ошибку при попытке восстановить модель или при попытке ее сохранить? –

+0

, когда я пытаюсь его восстановить .. –