繁体   English   中英

tf 和 tf.keras 密集层在我的设置中显示完全不同的行为

[英]tf and tf.keras Dense layer shows completely different behavior in my setup

在使用 tensorflow 1.14 时,我注意到在使用 tf.layers.Dense 与 tf.keras.layers.Dense 时有一些非常奇怪的行为。 Stackoverflow 上的人说这两层完全一样,我基本上同意,但是在训练 AC 代理时查看折扣奖励会得到下图:

tf vs tf.keras

arguments 完全相同。 重复运行会导致相同的结果(请参阅图像中不同颜色的数据)。 据我了解代码,其中一个密集层继承自另一个: tf.keras.layers.coretf.layers.core

有人能解释这种行为吗?

根据对 stable_baseline 存储库中类似问题的回复,似乎 keras 不支持多个代理之间的共享权重。 因此,在训练具有多个实例的 actor-critic 网络时,每个环境都有自己的网络,这会导致完全不同的结果。 解决方法是仅直接使用支持重用相同权重的 tensorflow 层。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM