在张量流

时间:2016-12-27 13:25:16

标签: machine-learning tensorflow

我有预训练网络,我试图只获得它的一部分(子图)和变量以及保护对象。

这就是我的做法:

subgraph = tf.graph_util.extract_sub_graph(default_graph, list of nodes to preserve)
tf.reset_default_graph()
tf.import_graph_def(subgraph)

然而,这会删除所有变量(当我调用reset_default_graph时)。即使我明确地将变量的操作节点(仅“变量”类型操作)添加到“要保留的节点列表”中。

如何在保留变量值的同时保留较大图的子图? 是否需要添加一些“保留列表”的新节点?

图形节点和变量之间的关系对我来说仍然不清楚,教程仅提到变量的创建在图形中创建了一些操作(节点)。

1 个答案:

答案 0 :(得分:0)

我认为你在做什么看起来是正确的。正如您所说,变量只是一个输出特定值张量的操作(图中的节点)。您应该能够将变量节点添加到列表中以保留它们,就像您一直在做的那样。你能用print(sess.graph_def)来确保你提供的名字是正确的吗?