最近在解决TensorFlow模型重新导入时遇到下面这个问题,发现网上很多解决办法都在误导,其实报错已经很明显说明问题的根源,只是我们不一定找到问题的根源。报错显示 不能在快照中找到 对应的键值。

报错信息:

tensorflow\tensorflow\core\framework\op_kernel.cc:1318] OP_REQUIRES failed at save_restore_v2_ops.cc:184 : Not found: Key Variable not found in checkpoint
Traceback (most recent call last):

saver.restore(sess, kpt.model_checkpoint_path)
File "D:\Program Files\Develop\Python\Anaconda3\envs\python2\lib\site-packages\tensorflow\python\training\saver.py", line 1802, in restore
{self.saver_def.filename_tensor_name: save_path})
File "D:\Program Files\Develop\Python\Anaconda3\envs\python2\lib\site-packages\tensorflow\python\client\session.py", line 900, in run
run_metadata_ptr)
File "D:\Program Files\Develop\Python\Anaconda3\envs\python2\lib\site-packages\tensorflow\python\client\session.py", line 1135, in _run
feed_dict_tensor, options, run_metadata)
File "D:\Program Files\Develop\Python\Anaconda3\envs\python2\lib\site-packages\tensorflow\python\client\session.py", line 1316, in _do_run
run_metadata)
File "D:\Program Files\Develop\Python\Anaconda3\envs\python2\lib\site-packages\tensorflow\python\client\session.py", line 1335, in _do_call
raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.NotFoundError: <exception str() failed>

问题分析:报错显示 不能在快照中找到 对应的键值,说明有地方定义变量出现了问题,可能是路径出错了,不能找到文件,也可能是变量问题,在模型中出现未定义变量名,具体问题需要具体分析。

解决办法:

1.文件路径错误,找不到对应的文件,在使用前添加检查

    save_dir = r"resource/model/"
file_path = tf.train.latest_checkpoint(save_dir) # 获取最新的模型文件
kpt = tf.train.get_checkpoint_state(save_dir) # 检查获取可以用的模型文件
print("kpt=", kpt)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
print("file_path:", file_path)
if kpt is not None:
saver.restore(sess, kpt.model_checkpoint_path)
print("x=0.2,z=", sess.run(Z, feed_dict={X: 0.2}))
else:
print("模型文件路径有误")

2.查看模型里面的具体信息,详细查看变量和数据是否一致。

print_tensors_in_checkpoint_file(save_dir + "linermodel.cpkt", None, True, True)

本次是因为我在存入模型时设置了两个变量参数,在重新导入时,这个两个变量没有对应变量接收导致。在重新导入前设置好两个变量参数,成功导入模型。

TensorFlow重新导入restore报错: OP_REQUIRES failed at save_restore_v2_ops.cc:184 : Not found: Key Variable not found in checkpoint的更多相关文章

  1. svn报错cleanup failed–previous operation has not finished; run cleanup if it was interrupted的解决办法

    今天在svn提交的时候它卡顿了一下,我以为已经提交完了,就按了一下,结果就再也恢复不了,也继续不了了... 报错 cleanup failed–previous operation has not f ...

  2. docker报错:Failed to restart docker.service: Unit not found.

    前言:我之前安装好docker了,但是关机重启后,发现docker就没了 报错:Failed to restart docker.service: Unit not found.   解决方法: 1. ...

  3. 报错:Failed on local exception: Host Details : local host is: "master/192.168.52.26"; dest

    报错现象 Failed on local exception: com.google.protobuf.InvalidProtocolBufferException: Protocol message ...

  4. maven项目引用时,导入类报错,选择两个项目同时执行Maven update

    maven项目引用时,导入类报错,选择两个项目同时执行Maven update springboot引入第三方jar,需要扫描时加@ComponentScan("第三方的包名") ...

  5. ionic报错: Failed to load resource

    隔了一天,才发现是代码写错了 出错的原因是在ts 文件中使用这样的定义 data: [] = ['高新区', '经开区', '其他园区']; 错误在于这个定义的类型,不能是 [],修改成 any就没有 ...

  6. ionic 打包 报错Execution failed for task ':processDebugResources'. > com.android.ide.common.process.ProcessException: Failed to execute aapt

    在platform --> android目录下找到build.gradle文件,打开并在def promptForReleaseKeyPassword() {...}函数前加入以下内容: 完整 ...

  7. 导入项目报错:Type Java compiler level does not match the version

    1,导入项目报错一般是因为缺少jar包或者是jar包冲突 2,导入的jar包版本问题 3,环境需要重新修改,比如build path 中重新add libararies 遇到这种compiler环境问 ...

  8. Android无法删除项目+导入项目报错

    Android无法删除项目+导入项目报错 Android无法删除项目:关闭eclipse或关闭电脑,然后重启,继续删除就可以了 导入项目报错:右键–>配置–>中就可以看到了,更改一下就可以 ...

  9. Nginx反向代理上传大文件报错(failed to load resource : net :: ERR_CONNECTION_RESET)

    转自: https://blog.csdn.net/kinginblue/article/details/50753271?locationNum=14&fps=1 Nginx反向代理上传大文 ...

  10. git push报错error: failed to push some refs to 'git@github.com'

    git push报错error: failed to push some refs to 'git@github.com' $ git push -u origin master To git@git ...

随机推荐

  1. SqlServer数据插入性能小记

    对于SQL性能,已经很久没关注了.由于近期项目既没有几千万的海量数据也没有过多的性能要求,所以在性能上也就没下太多功夫.然而,前不久和朋友闲谈间话题一转就说到程序上了,他说他用Delphi做了个数据导 ...

  2. datagrip中调用oracle存储过程

    declare mess varchar2(300); begin P_DETAIL_PROC(参数1,...,mess); DBMS_OUTPUT.PUT_LINE(mess); end; P_DE ...

  3. dart变量声明和变量类型

    ps==>所有的代码必须放在main方法中 main方法有两种写法 1==> main() { print("你好,dart我们相遇了"); } 2==> voi ...

  4. kafka的基本使用(更新中)

    kafka的安装路径:/usr/local/Cellar/kafka/3.2.0 kafka的配置路径:/usr/local/etc/kafka 开启zookeeper cd /usr/local/C ...

  5. MySql执行Sql语句时出现“MySqlException: Parameter ‘@maxNo‘ must be defined.”的错误

    1.问题描述 具体执行的SQL和报错的信息如下图所示: 2.解决办法 连接字符串中增加Allow User Variables=True;的配置即可,如下所示: Server=192.168.2.1; ...

  6. 使用PhantomJS解决VUE项目无法被百度收录

    一.安装PhantomJS 安装文章:https://www.cnblogs.com/robots2/p/17340143.html 二.编写脚本spider.js // spider.js 'use ...

  7. Luogu P11553 ROIR 2016 Day 1 奇怪的字符串 题解 [ 绿 ] [ 后缀自动机 ] [ 枚举 ] [ 观察 ]

    奇怪的字符串:需要一点观察的 SAM 小清新题. 观察 我们首先观察什么样的字符串才是奇怪的,可以发现,首先类似 AAAAAAA 之类全部相等的字符串是奇怪的. 继续观察,如果字符种类变为两种或者三种 ...

  8. OneDrive分享、多人操作电脑中大文件的方法

      本文介绍基于OneDrive网盘实现电脑大文件共享.协同办公的方法. 1 前言   作为网盘的重度用户,在学习.工作.生活中可以说少不了与各类云盘打交道.在这一过程中,也慢慢了解到不同网盘软件的特 ...

  9. Typecho 如何开启外链转内链

    把博客中的外部链接转换为网站内链,据说有利于搜索引擎收录.该插件主要由 benzBrake 大佬 编写,同时支持转换文章和评论中的链接. 上传插件 下载 Master Branch Code 后上传到 ...

  10. manim边学边做--标准相机

    在Manim动画制作库中,Camera类是负责管理屏幕显示内容的核心类,其功能涵盖场景设置.对象渲染.坐标转换等多个关键方面. Camera类作为Manim中渲染流程的核心,在动画制作中主要作用包括: ...