tensorflow - 无法使用 get_tensor_by_name 恢复 Dropout
问题描述
我试图保存和恢复一些张量。
在保存会话中:
...
self.abc = tf.reduce_sum(self.element_wise_product, 2, name="abc")
self.def= tf.nn.dropout(abc, self.dropout_keep[0], name="def")
...
保存后,我尝试恢复会话
sess = tf.Session(config=config)
weight_saver.restore(sess, save_file)
pretrain_graph = tf.get_default_graph()
abc= pretrain_graph.get_tensor_by_name('abc:0')
def = pretrain_graph.get_tensor_by_name('def:0')
但我得到了错误:
“名称‘def:0’指的是一个不存在的张量。操作‘def’在图中不存在。”
请帮忙。
解决方案
问题是这tf.nn.dropout(abc, self.dropout_keep[0], name="def")
是一个 TensorFlow 操作,而不是图中可以恢复的节点。
此外,我会恢复图中我想要执行的节点,例如logits
节点,以便我可以获得模型的输出和input
节点,以便我可以将数据倒入模型中。因此,我认为没有理由恢复dropout
节点。
推荐阅读
- vba - 存储过程将 NULL 值返回到 VBA 中的输出参数
- powershell - 使用键盘快捷键增长当前窗口
- javascript - TS7006:参数“copyMe”隐式具有“任何”类型
- mysql - 如何使用 node js 和 mysql 构建搜索应用程序
- vba - MS Project VBA 将 Finsh 日期复制到 Finsh 1
- php - 大摇大摆地将数组字段发送到laravel
- discord - 有没有办法根据元数据在 Discord 中播放 .mp3 文件?
- javascript - 询问视频时长时得到 NaN
- url - 我的谷歌分析实时用户中的随机网址
- flutter - 将音频从麦克风流式传输到后端 - Flutter iOS