tf.random.normal()无法按预期工作

2024-10-01 17:34:21 发布

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

我是Python和tensorflow的新手。我有点(或非常)困惑:tf.random.normal()似乎并不像预期的那样工作

tf.random.normal()用于生成一些数据。我希望通过“tf.keras.backend.eval()”在屏幕上打印数据,以查看数据是否按预期生成

randndata = tf.random.normal([1, 5])
print('randndata = ', tf.keras.backend.eval(randndata))

到目前为止,一切似乎都很好。但是,如果第二次打印数据,结果会完全不同

randndata = tf.random.normal([1, 5])
print('randndata = ', tf.keras.backend.eval(randndata))
print('randndata = ', tf.keras.backend.eval(randndata))

问题不仅仅在于正态分布。统一分配也有同样的问题

tensorflow版本是2.1.0

谢谢大家!


Tags: 数据版本backend屏幕tftensorflowevalrandom
1条回答
网友
1楼 · 发布于 2024-10-01 17:34:21

加里,我可以通过禁用急切执行来重现你的错误。在这种情况下,每次运行eval时都会调用tf.random.normal。 启用“急切执行”时,会立即将随机数分配给变量,然后将其传递给tf.keras.backend.eval()调用

找到您可能禁用了急切执行的地方-这将解释令人费解的情况。如果有疑问,请在此发布更多代码

我建议将TF2样式用于急切执行,而不要调用eval(如果您有一些复杂的计算图,也可以调用它一次)。 阅读有关急切执行here的更多信息

相关问题 更多 >

    热门问题