我认为这个问题可能听起来很奇怪。比方说,有一个张量a
。
x = tf.placeholder(tf.float32, [None, 2400], name="x")
y = tf.placeholder(tf.float32, [None, 2400], name="y")
a = tf.add(x, y, name="a")
是否有一种有效的方式来引用a
使用其他名称,例如out
?
我正在考虑像
b = tf.add(a, 0, name="out")
我问这个是因为我正在尝试不同的网络架构,而且无论架构如何,我都希望使用一致的名称来访问输出张量,如
tf.get_default_graph().get_tensor_by_name("out:0")`
目前,输出张量取决于fc1/fc1wb:0
或fc2/fc2wb:0
等架构。如何用特定名称包装最终操作?
答案 0 :(得分:11)
This回答表明tf.Graph
仅附加,您无法修改。
话虽这么说,重新命名张量的一种稍微好一点的方法是使用tf.identity这样:
tf.identity(a, name="out")
编辑:在找到我自己的一个问题的答案后,我可以看到一个更好的方法来做到这一点:
graph_def.node[<index of the op you want to change>].name = "out"
index
通常为-1
,因为最终输出张量位于graph_def