以下是从简单的学习示例改编的代码,我已经弯曲了以了解Tensorboard图形可视化:
import tensorflow as tf
import numpy as np
sess = tf.InteractiveSession()
# Create 100 phony x, y data points in NumPy, y = x * 0.1 + 0.3
x_data = np.random.rand(10).astype("float32")
y_data = x_data * 0.1 + 0.3
W = tf.Variable(tf.random_uniform([1], -1.0, 1.0, name = "internal_W"), name = "external_W")
b = tf.Variable(2*tf.zeros([1], name = "internal_b"), name = "doubled_b")
y = (W * x_data + b)
l1 = (y - y_data)
l2 = (y_data - y )
writer = tf.train.SummaryWriter("/tmp/test1", sess.graph_def)
init = tf.initialize_all_variables()
# Launch the graph.
sess = tf.Session()
sess.run(init)
print(sess.run(y))
print('---')
print((y_data))
print('---')
print(sess.run(l1))
print('---')
print(sess.run(l2))
print语句的示例输出是:
[ 0.84253538 0.31011301 0.11627766 0.35491142 0.65550905 0.1798114
0.13632762 0.02010157 0.42960873 0.04218956]
---
[ 0.39195824 0.33384719 0.31269109 0.33873668 0.37154531 0.31962547
0.31487945 0.302194 0.3468895 0.30460477]
---
[ 0.45057714 -0.02373418 -0.19641343 0.01617473 0.28396374 -0.13981406
-0.17855182 -0.28209242 0.08271924 -0.2624152 ]
---
[-0.45057714 0.02373418 0.19641343 -0.01617473 -0.28396374 0.13981406
0.17855182 0.28209242 -0.08271924 0.2624152 ]
显然,减法工作正常 - 减法的输入顺序不同,产生不同的输出。但是,图形可视化是:
注意" Sub"运算符,它们似乎不像代码那样颠倒操作数的顺序。 (突出显示任何一个运算符都不会产生额外的洞察力。)我是否遗漏了一些明显的东西,或者节点可视化是否完全模糊了操作数的顺序?
答案 0 :(得分:1)
在对此进行讨论之后,我对自己问题的回答是:“是的,这是按预期工作的。”节点的输入仅显示输入的内容,而不显示与操作或节点或其自身的任何特定关系;实际上,如果在操作节点中向自身添加变量,则输入变量仅显示一次。
这不是我想要的设计选择,但这似乎是意图。
我仍然鼓励可能有更多见解的其他人发表评论或完全回答。