Tensorflow eval()(a/b).eval()和(a.eval()/b.eval())的不同结果

2024-09-29 20:30:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我现在遇到了一个问题,tensorflow不能产生我想要的结果。当我试着调试这个问题时,我注意到在一个分区中,一切似乎都很好。 https://imgur.com/a/DT4RWiSstrange eval behavior

有人能告诉我这里会发生什么吗?你知道吗


Tags: httpscomtensorflow分区imgurdt4rwis
2条回答

这是因为tensorflow中的/操作符遵循python2语法并执行整数除法(参见https://www.tensorflow.org/api_docs/python/tf/div)。您应该改用tf.divide。一般来说,对于张量之间的任何数学运算,应该使用tf.operation_name

可能有一些随机性。考虑以下示例:

import tensorflow as tf

a = tf.random_uniform(shape=(4,), minval=1, maxval=2)
b = tf.random_uniform(shape=(4,), minval=1, maxval=2)

with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    print(a.eval()/b.eval())
    print((a/b).eval())

调用a.eval()(a/b).eval()时,执行tf.random_uniform,并用不同的随机数填充张量a。你知道吗

相关问题 更多 >

    热门问题