Tensorflow - ValueError:trained_variables.ckpt的父目录不存在,无法保存

bke*_*ker 26 tensorflow

我想保存我的tensorflow会话,sess但我有以下错误

ValueError: Parent directory of trained_variables.ckpt doesn't exist, can't save.

这是我的代码行:

saver.save(sess, "trained_variables.ckpt")

我也尝试更改文件名,model而不是,trained_variables.ckpt但我得到同样的问题.

遵循本教程A TensorFlow教程:电子邮件分类

use*_*221 55

saver.save(sess, "./trained_variables.ckpt")
Run Code Online (Sandbox Code Playgroud)


JR *_*yer 13

我猜你正试图将文件保存在一个不存在的文件夹(目录)中......

尝试使用文件的绝对路径而不是仅使用裸文件名.

您可能想要检查当前的工作目录是什么......这可以清理事情.

这有帮助吗?

-josh


bke*_*ker 10

我已经把文件的absoluth路径而不是裸文件名,它工作.这是最终的代码

saver.save(sess, os.path.join(os.getcwd(), 'trained_variables2.ckpt'))


kaf*_*man 6

我不确定我理解.您正在尝试将变量存储到当前目录中,因此它说当前目录的父目录不存在是奇怪的.你能试试吗?

v = tf.Variable(tf.constant(0))
with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    saver = tf.train.Saver()
    saver.save(sess, 'trained_variables.ckpt')
Run Code Online (Sandbox Code Playgroud)

这对我有用.通常,您应始终确保存在要存储检查点的路径.像这样的东西:

save_path = 'checkpoints/'
model_name = 'my_model'
if not os.path.exists(save_path):
    os.makedirs(save_path)
...
saver = tf.train.Saver()
save_path_full = os.path.join(save_path, model_name)
with tf.Session() as sess:
   ...
   saver.save(sess, save_path_full)
Run Code Online (Sandbox Code Playgroud)


Ami*_*man 6

这就是我做的

 modelName = "YourModelName"
 saver.save(session, './'+modelName) 
Run Code Online (Sandbox Code Playgroud)

我相信这对你有用.