如何在Tensorflow r1.0中恢复变量

时间:2017-03-22 13:58:35

标签: tensorflow restore

将Tensorflow升级到r1.0后,恢复命令似乎不起作用。 例如,任何人都可以告诉我以下内容有什么问题吗?

def foo():
    v1 = tf.Variable(1., name="v1")
    v2 = tf.Variable(2., name="v2")
    v3 = v1 + v2

    saver = tf.train.Saver()

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

        saver.save(sess, "temp")

        # do something

        saver.restore(sess, "temp") 

从最后一行开始,我收到了一个错误:

tensorflow.python.framework.errors_impl.NotFoundError: Unsuccessful TensorSliceReader constructor: Failed to find any matching files for temp
     [[Node: save/RestoreV2 = RestoreV2[dtypes=[DT_FLOAT], _device="/job:localhost/replica:0/task:0/cpu:0"](_recv_save/Const_0, save/RestoreV2/tensor_names, save/RestoreV2/shape_and_slices)]]

Tensorflow文档仍然保留了旧版本的解释。

1 个答案:

答案 0 :(得分:1)

TensorFlow 1.0有一个错误,它无法识别仅包含文件名(而且没有路径组件)的tf.Saver.restore()个文件名。这将在下一个版本中修复,但是现在您应该能够使用以下解决方法来添加路径组件:

saver.restore(sess, "./temp")