Tensorflow 生成随机值意外行为

标签 tensorflow

我想生成一个随机向量,但不理解 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/

相关文章:

python - 使用 TensorFlow 从 Google Drive 下载时出现 HTTP 错误

Tensorflow:数据源可以是动态的?

python-3.x - 使用矩阵作为卷积神经网络的输入

python - 如何检查当前tensorflow版本是否至少是python脚本中的特定版本?

python - 循环运行 label_image.py

python - 如何在 tf.keras 训练过程中获取当前 epoch 的进度?

python - 执行堆栈中数据集类型的更改

python - 过滤 Tensorflow 数据集中的 NaN 值

python - 将 TF2.0 中的 feed_dict 替换为函数中张量的张量输入

python - 没有名为 trainer 的模块,用于 TensorFlow 教程的 Cloud ML Engine,在本地运行