1

以下は、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" 演算子に注意してください。(いずれかの演算子を強調表示しても、それ以上の洞察は得られません。) 明らかな何かが欠けているのでしょうか?それとも、ノードの視覚化がオペランドの順序を完全に覆い隠していますか?

4

1 に答える 1