0
に依存するテンソルフローの変数y
を割り当てようとしました。しかし、x
の値を変更しても、y
は変更されません。入力変数が変更されたときに、tf変数の値が変更されない
import tensorflow as tf
sess = tf.Session()
x=tf.Variable(4,name='x')
model = tf.global_variables_initializer()
sess.run(model)
y=tf.Variable(2*x,name='y')
model = tf.global_variables_initializer()
sess.run(model)
sess.run(x)
sess.run(tf.assign(x,2))
print(sess.run(y))
私は出力4
を期待していたが、私は8
を取得しています。どんな助けもありがとう。
グラマシー...
Cool!これはうまくいきました:)しかし、 'sess.run'を実行すると変数に値を代入しませんか?私は 'x'の値が変更された最後の行でこれをやっています。 – americast
'y = tf.Variable(2 * x、name = 'y')' 'y'と' x'の関係は 'y'だけで、' x'からの初期値が必要ですが、 'y 'セット。 'y = 2 * x'は' y'の値が 'x'に依存することを意味し、' x'が変化すると変化します。私が私に明確にしたならば、この答えに対するアップヴォートと承認は認められるでしょう。 –
確かに! さて、ドキュメントによれば、最初のパラメータが初期値を提供するように 'tf.Variable'が定義されています。しかし、私は、 'sess.run'が呼び出されたときに変数に値が割り当てられているというのは少し誤解を招くのではないかと思います。さらに、 'x'の値は' y'がアロケートされる前に変更されているので、消化するのは少し難しいです。 :) – americast