【发布时间】:2018-07-02 06:06:32
【问题描述】:
b= tf.ones([3,3],dtype=tf.float32)
c= tf.Variable(tf.random_normal([3,3],mean=1,stddev=2,dtype=tf.float32),name="c")
d=tf.assign_add(c,b)
init_op= tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init_op)
x,y,z= sess.run([c,b,d])
print(x,"\n!!\n",y,"\n!!\n",z,"\n!!")
print(sess.run(d))
第三个数组输出结果应该加上'b'和'c',但结果没有按预期打印。你能帮助我吗?非常感谢。
我希望第三个数组的输出结果应该和第四个数组一样。我对第三个数组结果感到困惑。
【问题讨论】:
-
据我了解,您的第四个数组是 c+b - 您期望什么?
-
第三个输出矩阵应该已经和最后一个一样了。这就是 OP 想知道的。
-
虽然我目前还没有一个满意的答案,但有趣的是
d = tf.add(c,b)会返回正确的结果,但tf.assign(c,c+b)会返回与上面相同的结果。不过,根据documentation 看来,它应该已经返回了更新后的值。
标签: python tensorflow tensor