2016-05-12 2 views
1

Я пытаюсь восстановить сохраненную модель. Но это возвращает мне ошибку. Пожалуйста, помогите мне. код, чтобы сохранить модель: save_model.pyНевозможно восстановить модели в tensorflow v0.8

import tensorflow as tf 
v1 = tf.Variable(1.32, name="v1") 
v2 = tf.Variable(1.33, name="v2") 

init = tf.initialize_all_variables() 

saver = tf.train.Saver() 

with tf.Session() as sess: 
    sess.run(init) 
    save_path = saver.save(sess, "model.ckpt") 

код для восстановления модели: restore_model.py

import tensorflow as tf 
v1 = tf.Variable(0, name="v1") 
v2 = tf.Variable(0, name="v2") 


saver = tf.train.Saver() 

with tf.Session() as sess: 
    saver.restore(sess, "model.ckpt") 
    print("Model restored.") 

Я сохранил оба файла в том же каталоге.

+0

Пожалуйста, сообщите об ошибке, которую вы получили. – Aenimated1

+0

привет, спасибо за ваш ответ. После изменения начальных значений до 0.0 в файле restore.py, он работает правильно :) –

ответ

0

Я подозреваю, что ошибка возникает потому, что в save_model.py объявляются переменные, имеющие тип tf.float32 (неявный тип 1.32 и 1.33), в то время как в restore_model.py вы определяете переменные как имеющие тип tf.int32 (неявный тип 0).

Проще всего было бы изменить restore_model.py, чтобы объявить переменные как tf.float32. Например, вы можете сделать следующее:

v1 = tf.Variable(0.0, name="v1") 
v2 = tf.Variable(0.0, name="v2") 
+0

привет, спасибо большое! он работает сейчас. Я изменил значения на 0.0, и он отлично работает. Но после восстановления значений переменных все равно 0.0 вместо 1.32 и 1.33. Какие-либо предложения? –

+0

Можете ли вы поделиться полным обновленным источником 'restore_model.py' в вопросе? Переменные никогда не должны присваиваться 0.0 (если только нет дополнительного кода, который запускает для них инициализатор). – mrry

+0

Привет, обновленный код. import tensorflow as tf v1 = tf.Variable (0.0, name = "v1") v2 = tf.Variable (0.0, name = "v2") saver = tf.train.Saver() init = tf.initialize_all_variables() с tf.Session() как Sess: save_path = "model.ckpt" saver.restore (Sess, save_path) #print v1.eval (Sess) печать ("восстановлена ​​модель"). печати v1 .eval() –

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