我想生成一个随机向量,但不理解 tensorflow 结果......
代码:
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]
最佳答案
好吧,这非常令人困惑,但它不起作用的原因是我正在并行运行一些其他 Tensorflow 代码。在我停止此代码后,随机生成按预期工作。但我怀疑这是预期的行为。
如果我将 与 tf.device('/cpu:0'):
一起使用,即使其他代码正在运行,它也可以在我的计算机上运行。当 tensorflow 使用 GPU 时,使用 gpu:0 会给出奇怪的数字。
我也尝试在不同的机器上重现这个,但我做不到。这意味着即使运行其他 tensorflow 代码(相同的代码,全部在 GPU 上等),选择设备也一切正常。
关于Tensorflow 生成随机值意外行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40790009/