下記のコードを実行すると、結果が
[9, 9, 3, 0]
になるときと
[9, 0, 3, 0]
になるときがあります。疑問は2つあります。
値が安定しないのはなぜでしょうか。
同じval1を参照しているmul_op4が0なのにmul_op2が0にならないのは違和感がありますが、正しい挙動でしょうか。
Python
1# coding: UTF-8 2from __future__ import absolute_import 3from __future__ import division 4from __future__ import print_function 5 6import tensorflow as tf 7 8var1 = tf.Variable(0) 9const2 = tf.constant(3) 10 11add_op = tf.add(var1, const2) 12 13update_var1 = tf.assign(var1, add_op) 14 15mul_op1 = tf.multiply(add_op, update_var1) 16mul_op2 = tf.multiply(add_op, var1) 17mul_op3 = tf.multiply(add_op, 1) 18mul_op4 = tf.multiply(var1, 1) 19 20with tf.Session() as sess: 21 sess.run(tf.global_variables_initializer()) 22 23 print(sess.run([mul_op1, mul_op2, mul_op3, mul_op4])) 24
実行環境
Windows7 SP1 64bit
Python 3.6.1
Anaconda 4.4.0 (64-bit)
Tensorflow 1.3.0
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/15 02:30
2017/11/15 02:32
2017/11/15 03:38