0

我试图保存和恢复一些张量。

在保存会话中:

...
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’在图中不存在。”

请帮忙。

4

1 回答 1

1

问题是这tf.nn.dropout(abc, self.dropout_keep[0], name="def")是一个 TensorFlow 操作,而不是图中可以恢复的节点。

此外,我会恢复图中我想要执行的节点,例如logits节点,以便我可以获得模型的输出和input节点,以便我可以将数据倒入模型中。因此,我认为没有理由恢复dropout节点。

于 2019-10-07T11:25:37.937 回答