tensorflow中模型无法保存出现 get NotFoundError

源代码如下:,运行这段代码时,程序可以正常运行,模型可以正常保存。

import tensorflow as tf
v1=tf.Variable(tf.random_normal([1,2]),name="v1")
v2=tf.Variable(tf.random_normal([2,3]),name="v2")
init_op=tf.global_variables_initializer()
saver=tf.train.Saver()
with tf.Session() as sess:
    sess.run(init_op)
    print("v1:",sess.run(v1))
    print("v2:",sess.run(v2))
    saver_path=saver.save(sess,"save/model.ckpt")   
    print("model saved in file:",saver_path

但是在运行下面这段代码时,却总是说找不到模型,看了网上的资料,都说是saver.restore(sess,”save/model.ckpt”)有问题,需写成如下形saver.restore(sess,”./save/model.ckpt”),感觉这个可能tensorflow早期版本存在的问题。最后才发现原来是没有为变量命名,且看如下代码。
错误代码:

import tensorflow as tf
v1=tf.Variable(tf.random_normal([1,2]))
v2=tf.Variable(tf.random_normal([2,3]))
saver=tf.train.Saver()
with tf.Session() as sess:
    saver.restore(sess,"./save/model.ckpt")
    print("v1",sess.run(v1))
    print("v2",sess.run(v2))
    print("model restored")

修正代码:

import tensorflow as tf
v1=tf.Variable(tf.random_normal([1,2]),name="v1")   #在这里需要为变量命名
v2=tf.Variable(tf.random_normal([2,3]),name="v2")
saver=tf.train.Saver()
with tf.Session() as sess:
    saver.restore(sess,"./save/model.ckpt")    #在tensorflow3.5版本中加上“./”和不加“./”均可
    print("v1",sess.run(v1))
    print("v2",sess.run(v2))
    print("model restored")


你可能感兴趣的:(深度学习错误笔记)