解决tensorflow测试模型时NotFoundError错误的问题

yipeiwu_com7年前Python基础

错误代码如下:

NotFoundError (see above for traceback): Unsuccessful TensorSliceReader constructor: 

Failed to find any matching files for xxx
……

经查资料分析,错误原因可能出在加载模型时的路径问题。我采用的加载模型方法:

with tf.Session() as sess:
  print("Reading checkpoints...")
  ckpt = tf.train.get_checkpoint_state(logs_train_dir)
  if ckpt and ckpt.model_checkpoint_path:
   global_step = ckpt.model_checkpoint_path.split('/')                              [-1].split('-')[-1]
   saver.restore(sess, ckpt.model_checkpoint_path)
   print('Loading success, global_step is %s' % global_step)
  else:
   print('No checkpoint file found')

在保存模型时,采用的方法为

saver = tf.train.Saver()
……
……
……
if step % 1000 == 0 or (step + 1) == MAX_STEP:
 checkpoint_path = os.path.join(logs_train_dir, './model.ckpt')
 saver.save(sess, checkpoint_path, global_step=step)

注意代码块中的./model.ckpt,这是关键,原来为model.ckpt就会报错。如果在加载模型时采用直接加载模型文件的方法,则:

改之前代码:

saver.restore(sess,'model.ckpt')

改之后的代码:

saver.restore(sess,'./model.ckpt')

我的改之后是没有什么问题了,如果这种方法不能解决你的问题,再查资料解决吧

以上这篇解决tensorflow测试模型时NotFoundError错误的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Django中使用极验Geetest滑动验证码过程解析

Django中使用极验Geetest滑动验证码过程解析

一,环境部署 1.创建一个django测试项目 二,文档部署 1.下载安装python对应的SDK 使用命令从Github导入完整项目:git clone https://githu...

Python 实现选择排序的算法步骤

选择排序算法步骤: 找到数组中最小的那个元素中, 将它和数组的第一个元素交换位置, 在剩下的元素中找到最小的元素,将它和数组的第二个元素交换位置, 如此往复,知道将整个数组排序。 逐步分...

python导入时小括号大作用

在导入Python模块时,我们可以用 import os 也可以用 from os import * 当然,不推荐第二种方法,这样,会导入太多的os模块内的函数,所以...

使用python Fabric动态修改远程机器hosts的方法

一、关于fabric fabric是一个很强大的包,可以将多机操作、部署的命令固化到脚本里面, 详情可参考文档 http://fabric-chs.readthedocs.io/zh_C...

pycharm 配置远程解释器的方法

pycharm 配置远程解释器的方法

1、Pycharm -> References(进入设置界面): 2、点击 Project Interpreter: 3、点击 Add Remote 来添加远程解释器:...