Tensorflow:NotFoundError:没有这样的文件或目录

时间:2018-06-03 23:22:12

标签: python python-3.x tensorflow checkpoint

我正面临张量流模型重量恢复问题。

因此,在训练模型期间,我在每次500次迭代后保存了模型检查点,

HttpsURLConnection

现在我有一个包含所有权重和元数据的检查点文件夹:

我已经下载了权重并创建了一个名为" new_backup"的新文件夹。所有权重和元都在那里:

当我尝试从该文件夹加载文件时:

if j%500==0:
                    with open('iterres.txt','a') as f:
                        f.write(str({'epoch': i, 'test_accuracy': evaluate_(model,batch_size=100),'iteration':j}) + '\n')
                        os.system('mkdir ' + str(i)+'epoch'+str(j))
                        saver.save(sess, '/home/g_cloud/exe_paul/'+str(i)+'epoch'+str(j)+'/'+str(i))

然后我收到了这个错误:

import tensorflow as tf


labels_dict={
              1: 'Yes', 
              0: 'No'
            }


with tf.Session() as sess:


    saver = tf.train.import_meta_graph('../new_backup/1.meta')
    restore = saver.restore(sess,tf.train.latest_checkpoint('../new_backup/'))
    graph=tf.get_default_graph()

    query= graph.get_tensor_by_name("input:0")
    result=graph.get_tensor_by_name("netout:0")

这是我的云帐户,1epoch1000是旧文件夹,其中所有重量都在培训期间保存。我的问题是,如果我使用相同的脚本来恢复模型,当有一个文件夹1epoch1000然后脚本正在工作,否则它会给出错误。

我如何更改meta到重定向路径或如何在任何地方恢复模型?

1 个答案:

答案 0 :(得分:3)

我试图找到答案但没有运气,然后我做了一些实验,所以当你保存你的模型时你会得到四个文件:

model.data
model.index
model.meta
checkpoint

现在将检查点打开为.txt文件,您将在其中看到一些路径:

model_checkpoint_path: "/home/g_cloud/exe_paul/1epoch1000/model"
all_model_checkpoint_paths: "/home/g_cloud/exe_paul/1epoch500/0"
all_model_checkpoint_paths: "/home/g_cloud/exe_paul/1epoch1000/0"
all_model_checkpoint_paths: "/home/g_cloud/exe_paul/1epoch2000/1"
all_model_checkpoint_paths: "/home/g_cloud/exe_paul/1epoch2500/1"
all_model_checkpoint_paths: "/home/g_cloud/exe_paul/1epoch3000/1"

只需将模型检查点的第一条路径更改为模型所在机器的本地路径。

之后改变本地路径的路径:

saver = tf.train.import_meta_graph('../new_backup/1.meta')
restore = saver.restore(sess,tf.train.latest_checkpoint('../new_backup/'))

就是这样。