起因是看到了这么一个帖子:
http://www.cocoachina.com/cms/wap.php?action=article&id=86347
简短来说就是下面的代码 运行起来结果十分的怪异!!!
import tensorflow as tf a = tf.constant(1.) mean_a, mean_a_uop = tf.metrics.mean(a) with tf.control_dependencies([mean_a_uop]): mean_a = tf.identity(mean_a) sess = tf.InteractiveSession() tf.global_variables_initializer().run() tf.local_variables_initializer().run() for _ in range(10): print(sess.run(mean_a))
在CPU上运行:
第一次运行结果:
第二次运行结果:
第三次运行结果:
第四次运行结果:
第五次运行结果:
可以发现上述代码在CPU环境下运行每次结果均不太相同,而且离希望得到结果都不一样。
希望的结果为 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
在GPU上运行:
第一次结果:
第二次结果:
第三次结果:
第四次结果:
第五次结果:
可以发现上述代码在GPU环境下运行每次结果均相同,但都不是希望的结果。
希望的结果为 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
以上则为所引帖子中所提问题。
==================================================================