在检查点错误中找不到密钥 dnn/hiddenlayer_0/bias

Posted

技术标签:

【中文标题】在检查点错误中找不到密钥 dnn/hiddenlayer_0/bias【英文标题】:Key dnn/hiddenlayer_0/bias not found in checkpoint error 【发布时间】:2018-08-18 19:10:40 【问题描述】:

我正在尝试使用本教程中所示的估计器实现 DNN 分类器:http://nbviewer.jupyter.org/gist/yufengg/7dd4170cc730ce418a1dcd141532ec6e

但是,每当我运行代码时,我都会收到这个冗长的错误消息:

Traceback(最近一次调用最后一次): 文件“/Users/vivekreddy/Desktop/NN/IRis Practice Estimators.py”,第 48 行,在 步数=1000) 文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/estimator/estimator.py”,第 352 行,在火车中 loss = self._train_model(input_fn, hooks, Saving_listeners) _train_model 中的文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/estimator/estimator.py”,第 888 行 log_step_count_steps=self._config.log_step_count_steps) 作为 mon_sess: MonitoredTrainingSession 中的文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/training/monitored_session.py”,第 384 行 stop_grace_period_secs=stop_grace_period_secs) init 中的文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/training/monitored_session.py”,第 795 行 stop_grace_period_secs=stop_grace_period_secs) init 中的文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/training/monitored_session.py”,第 518 行 self._sess = _RecoverableSession(self._coordinated_creator) init 中的文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/training/monitored_session.py”,第 981 行 _WrappedSession.init(self, self._create_session()) _create_session 中的文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/training/monitored_session.py”,第 986 行 返回 self._sess_creator.create_session() 文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/training/monitored_session.py”,第 675 行,在 create_session self.tf_sess = self._session_creator.create_session() 文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/training/monitored_session.py”,第 446 行,在 create_session init_fn=self._scaffold.init_fn) 文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/training/session_manager.py”,第 275 行,在 prepare_session 配置=配置) _restore_checkpoint 中的文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/training/session_manager.py”,第 207 行 saver.restore(sess, ckpt.model_checkpoint_path) 文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/training/saver.py”,第 1755 行,在恢复中 self.saver_def.filename_tensor_name: save_path) 运行中的文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/client/session.py”,第 905 行 run_metadata_ptr) _run 中的文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/client/session.py”,第 1137 行 feed_dict_tensor、选项、run_metadata) _do_run 中的文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/client/session.py”,第 1355 行 选项,run_metadata) _do_call 中的文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/client/session.py”,第 1374 行 raise type(e)(node_def, op, message) NotFoundError:在检查点中找不到密钥 dnn/hiddenlayer_0/bias [[节点:save/RestoreV2 = RestoreV2[dtypes=[DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT, ..., DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_INT64], _device="/job:localhost/replica:0/ task:0/device:CPU:0"](_arg_save/Const_0_0, save/RestoreV2/tensor_names, save/RestoreV2/shape_and_slices)]]

由 op u'save/RestoreV2' 引起,定义在: 文件“”,第 1 行,在 文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/idlelib/run.py”,第 115 行,在 main ret = 方法(*args, **kwargs) 运行代码中的文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/idlelib/run.py”,第 325 行 self.locals 中的执行代码 文件“/Users/vivekreddy/Desktop/NN/IRis Practice Estimators.py”,第 48 行,在 步数=1000) 文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/estimator/estimator.py”,第 352 行,在火车中 loss = self._train_model(input_fn, hooks, Saving_listeners) _train_model 中的文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/estimator/estimator.py”,第 888 行 log_step_count_steps=self._config.log_step_count_steps) 作为 mon_sess: MonitoredTrainingSession 中的文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/training/monitored_session.py”,第 384 行 stop_grace_period_secs=stop_grace_period_secs) init 中的文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/training/monitored_session.py”,第 795 行 stop_grace_period_secs=stop_grace_period_secs) init 中的文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/training/monitored_session.py”,第 518 行 self._sess = _RecoverableSession(self._coordinated_creator) init 中的文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/training/monitored_session.py”,第 981 行 _WrappedSession.init(self, self._create_session()) _create_session 中的文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/training/monitored_session.py”,第 986 行 返回 self._sess_creator.create_session() 文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/training/monitored_session.py”,第 675 行,在 create_session self.tf_sess = self._session_creator.create_session() 文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/training/monitored_session.py”,第 437 行,在 create_session self._scaffold.finalize() 文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/training/monitored_session.py”,第 214 行,在 finalize self._saver.build() 文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/training/saver.py”,第 1302 行,在构建中 self._build(self._filename, build_save=True, build_restore=True) 文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/training/saver.py”,第 1339 行,在 _build build_save=build_save, build_restore=build_restore) _build_internal 中的文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/training/saver.py”,第 790 行 restore_sequentially,重塑) _AddShardedRestoreOps 中的文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/training/saver.py”,第 502 行 name="restore_shard")) _AddRestoreOps 中的文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/training/saver.py”,第 449 行 restore_sequentially) 文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/training/saver.py”,第 847 行,在 bulk_restore return io_ops.restore_v2(filename_tensor, names, slices, dtypes) restore_v2 中的文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/ops/gen_io_ops.py”,第 1030 行 shape_and_slices=shape_and_slices,dtypes=dtypes,name=name) _apply_op_helper 中的文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/framework/op_def_library.py”,第 787 行 op_def=op_def) 文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/framework/ops.py”,第 3271 行,在 create_op op_def=op_def) init 中的文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/framework/ops.py”,第 1650 行 self._traceback = self._graph._extract_stack() # pylint: disable=protected-access

NotFoundError(请参阅上面的回溯):在检查点中找不到密钥 dnn/hiddenlayer_0/bias [[节点:save/RestoreV2 = RestoreV2[dtypes=[DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT, ..., DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_INT64], _device="/job:localhost/replica:0/ task:0/device:CPU:0"](_arg_save/Const_0_0, save/RestoreV2/tensor_names, save/RestoreV2/shape_and_slices)]]

在执行了一些打印语句之后,我确信错误发生在这行代码中: 分类器.train(input_fn=input_fn(training_set),steps=1000)

我想知道这是否与我的 Tensorflow 版本有关,即 1.6。 任何帮助表示赞赏。谢谢。

【问题讨论】:

一个疯狂的猜测:教程中的 print() 语句暗示 Python 3,而您使用的是旧的 Python 2。 我认为情况并非如此,因为 LinearClassifier 有效。当我将 LinearClassifier 更改为 DNNClassifier 并添加隐藏单元时,就会出现错误。 我怎样才能在 python 3 上试用呢?当我在终端中输入 python 时,我看到 Python 2.7.13 已安装。当我在终端中输入 python3 时,我看到 Python 3.6.2 已安装。 IDLE运行程序时如何选择专门运行Python 3.6.2? 这取决于您运行的是哪个 IDLE。当你启动 IDLE 时,它应该在第一行给出 Python 版本。 【参考方案1】:

发生这种情况是因为同一目录包含另一个模型的组件。在我的例子中,我有一个以前的线性模型的组件,并试图在同一个文件夹中创建一个 DNN 分类器。我删除了所有这些(/temp/iris_model/),然后再次尝试。有效。

操作系统:Ubuntu 16.04 LTS 张量流:1.11.0 IDE:jupytor 笔记本

【讨论】:

【参考方案2】:

我想我知道答案。只需删除模型目录下的所有文件(包括检查点)。如果您执行以前的模型并且在执行后没有删除文件,那里会有文件。

【讨论】:

以上是关于在检查点错误中找不到密钥 dnn/hiddenlayer_0/bias的主要内容,如果未能解决你的问题,请参考以下文章

在运行历史记录中找不到有效模型。这意味着 smac 无法拟合有效模型。请检查日志文件是不是有错误

超越代码暴露 |暴露:在linux中找不到命令错误

在密钥库 C:\Users\alan\newapp\android\app\key.jks 中找不到别名为“上传”的密钥

在 pkg-config 搜索路径中找不到包检查

在 windows phone 8 项目中找不到具有名称/密钥的资源

在密钥链中找不到与此配置文件匹配的有效签名身份