我正在阅读 Sam-Abrahams tensorflow书。在阅读时,我得到了以下代码,
import tensorflow as tf
with tf.name_scope("Scope_A"):
a = tf.add(1, 2, name="A_add")
b = tf.multiply(a, 3, name="A_mul")
with tf.name_scope("Scope_B"):
c = tf.add(4, 5, name="B_add")
d = tf.multiply(c, 6, name="B_mul")
e = tf.add(b, d, name="output")
writer = tf.summary.FileWriter('./name_scope_1', graph=tf.get_default_graph())
writer.close()
作为名称范围的示例。当我将它加载到张量板时,我得到了以下图像,
但遗憾的是,这本书提出了一个不同的形象,
我知道这本书已经很老了,现在并不是一切都很相似。但从代码和数字来看,在图1中看起来很可疑,
with tf.name_scope("Scope_A"):
a = tf.add(1, 2, name="A_add")
b = tf.multiply(a, 3, name="A_mul")
对于给定的“SCOPE_A”,蓝色框是正确的,因为有加法和乘法运算。
但是对于以下代码,
with tf.name_scope("Scope_B"):
c = tf.add(4, 5, name="B_add")
d = tf.multiply(c, 6, name="B_mul")
没有定义乘法运算。
在右侧,有一些辅助节点。从SCOPE_A_ [0-15],SCOPE_B_ [0-15]。这些是什么?
最后一个最重要的问题,
如何生成更清晰的图表,如图2中生成的作者。
* UPD和建议:*
1。如果您正在处理默认图表,请不要忘记重置图表。
tf.reset_default_graph()
2。尝试使用您定义的图表。这是避免此类情况最安全的选择。
答案 0 :(得分:1)
您所展示的图表似乎并不是该片段的图片;正如您所怀疑的那样,正确的图表是书中的图表。确保在运行代码之前清除了logs目录,并确保在之前或之后没有运行任何内容(例如,只需打开解释器,运行代码并关闭它)。