2015-12-24 36 views
1

以下是適於從一個簡單的學習示例代碼,我已向外彎曲的形狀,以瞭解Tensorboard圖形可視化:口譯Tensorflow/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)) 

打印語句的樣品輸出是:

[ 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 ] 

顯然,減法工作正常 - 減法的輸入順序不同,併產生不同的輸出。然而,圖形可視化是:

Tensorboard Screenshot

通知的「子」操作符,它們似乎不扭轉的代碼執行操作數的順序。 (強調兩個運算符都不會產生額外的洞察。)我是否錯過了某些明顯的東西,或者節點可視化是否完全遮蔽了操作數的順序?

回答

1

經過這次討論後,我對自己問題的回答是:「是的,這是按預期工作的。」節點的輸入僅顯示輸入的內容,而不是與操作或節點或它們自己的任何特定關係;實際上,如果在操作節點中爲自己添加了變量,則輸入變量只會顯示一次。

這不是我會做出的設計選擇,但這似乎是意圖。

我仍鼓勵其他可能有更多見解的人發表評論或完全回答。