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

How to restore variables in Tensorflow r1.0

升级Tensorflow到r1.0后,restore命令好像不起作用了。 例如,谁能告诉我以下内容有什么问题?

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 文档仍然保留旧版本对此事的解释。

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

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