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")


發佈了33 篇原創文章 · 獲贊 24 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章