Tensorflow生成随机值意外行为

时间:2016-11-24 15:27:52

标签: tensorflow

我想生成一个随机Vector并且不理解tensorflows结果....

代码:

import tensorflow as tf

some_test = tf.Variable(
    tf.random_uniform([20], -1.0, 1.0, dtype=tf.float32))
init_op = tf.initialize_all_variables()
sess = tf.Session()
sess.run(init_op)
random = sess.run(some_test)
print(random)

给了我这个:

[             nan              nan              nan              nan
              nan              nan              nan              nan
              nan   3.57331108e-43   0.00000000e+00   0.00000000e+00
   0.00000000e+00   0.00000000e+00   0.00000000e+00  -3.05175781e-05
  -1.70141183e+38  -1.70141183e+38  -1.70141183e+38  -1.70141183e+38]

1 个答案:

答案 0 :(得分:2)

好的,这是非常令人困惑的,但它不起作用的原因是我并行运行了一些其他Tensorflow代码。我停止此代码后,随机生成按预期工作。我怀疑这是预期的行为。

如果我使用with tf.device('/cpu:0'):,即使其他代码正在运行,它也能在我的机器上运行。当tensorflow使用GPU时,使用gpu:0给出奇怪的数字。

此外,我试图在不同的机器上重现这一点,但我不能。这意味着即使运行其他tensorflow代码(相同的代码,所有在GPU等...)选择设备一切正常。