2017-02-18 14 views
0

У меня есть основной вопрос о символических программах типа в tensorflow, ниже коды (tensorflow 0.12):Diffrent выходов, вызванные «безразлично» заявлением в графе строительстве (программы символического стиля) в tensorflow

import numpy as np 
import tensorflow as tf 
import sys 

x = tf.placeholder(tf.float32, 1) 
y = 1 
z = x + y * 2 
# x = z 

with tf.Session() as sess: 
for i in range(2): 
    result = sess.run([z], feed_dict={x: [1]}) 
    print "result = " 
    print result[0] 

если «х = г» комментирует, это типичный ориентированный ациклический граф (DAG), результат:

result = 
[ 3.] 
result = 
[ 3.] 

если «х = г» является раскомментирована, результат:

result = 
[ 1.] 
result = 
[ 1.] 

Я думаю, что результат должен быть неактуальным из утверждения «x = z», а результат должен быть 3. Что вызвало разницу? Спасибо!

+0

, когда вы раскомментируете # x = z, вы подаете [1] в другой узел на графике в вашем 'feed_dict' –

+0

Уважаемый Ярослав, спасибо вам! я понимаю это сейчас, когда x = z добавлено, x наглядно указывает тот же узел графа с z, когда, если x подает [1], так что z также [1]. Можете ли вы помочь мне по другому вопросу в ссылке ниже? (Http://stackoverflow.com/questions/42317636/how-to-make-the-generated-data-of-remote-worker-span-iterations-in-in-graph-repl) – Paul

ответ

0

При добавлении x = z x наглядно указывает тот же узел графа с z, когда, если x подает [1], поэтому z также [1]. Спасибо Ярослав.