2017-07-03 7 views
0

テンソルフローのセッションが実行されるとき、私はyの同じ値を取得する必要があります。どのように私は同じ値でyを得ることができます、このグラフを再実行しないでください?テンソルフローの内部テンソル値を取得する方法

import tensorflow as tf 
import numpy as np 

x = tf.Variable(0.0) 
tf.set_random_seed(10) 
x_plus1 = x+tf.random_normal([1], mean=0.0, stddev=0.01,dtype=tf.float32) 

y = tf.Variable([1.0]) 
y += x_plus1 

z = y + tf.random_normal([1], mean=0.0, stddev=0.01,dtype=tf.float32) 

init = tf.global_variables_initializer() 

with tf.Session() as sess: 
    sess.run(init) 
    print(z.eval()) 
    for i in range(5): 
     print(y.eval()) 

ここで、私はzに寄与するyを得たいと思います。

答えて

-1

、次のようにあなただけが好きなように、あなたは何度でもそれを印刷することができ、forループの前に、一度、グラフを評価するこの方法をwithブロックを変更します。

with tf.Session() as sess: 
    sess.run(init) 
    print(z.eval()) 
    yy = y.eval() 
    for i in range(5): 
     print(yy) 
+0

私の考えでは、zを実行するときにyを取得したいと思います。 –

0

あなたはyおよびzを評価することができますsess.run()と同時に、グラフの必要な部分を1回だけ実行するので、yの値はzに使用される値になります。

with tf.Session() as sess: 
    sess.run(init) 
    z_value, y_value = sess.run([z, y]) 
    print(z_value) 
    print(y_value) 
関連する問題