gpt4 book ai didi

python - DQN 在不同的计算机上表现不同

转载 作者:太空宇宙 更新时间:2023-11-04 04:12:54 27 4
gpt4 key购买 nike

我有一个或多或少标准的 DQN 实现来解决 Atari“Breakout”(来自 Coursera 强化学习类(class)),它在不同的计算机上表现完全不同:

  • 在我的笔记本电脑上它收敛每次我运行它
  • 在 Coursera 和 Google Colab 服务器上,它从不收敛!

我用

  • Python3
  • tensorflow
  • Kerass(仅适用于 Conv2D、Flatten 和 Dense 层)

我已经花了大约两周的时间解决这个问题,但没有任何进展:(

我已经检查过:

  • 版本:
    • Python:相同 (3.6.7)
    • Tensorflow:相同(使用 1.4.0 和 1.5.0 测试)
    • numpy:错误修复编号相同(1.16.2 与 1.16.3)
  • 随机种子
  • float32 与 float64:我总是将 dtype=np.float32 传递给每个 np.array 和 tf.placeholder 调用。
  • 中央处理器/图形处理器
    • 我的笔记本电脑,融合,使用旧 CPU(将 Tensorflow 限制为 <= 1.5.0)
    • 在 Coursera 服务器上,永不收敛:CPU?
    • 在 Google Colab 服务器上,永不收敛:GPU

我的问题是:

  • 不同行为的原因可能是什么?
  • 如何调试此类问题?
  • 我还可以做什么/检查以最终找到问题?

更新:所有代码(包括超参数、环境、...)完全相同。

最佳答案

我假设您使用给定的超参数值运行特定版本的代码。然后,您需要在 tensorflow(例如 tf.set_random_seed(1))代码的开头修复随机种子,对于 numpy(例如 np.random.seed(1)) 和随机的,如果你使用它。

此外,您必须在所有机器上安装相同版本的 tensorflow。我的经验是,即使是 1.3 和 1.8 之间的正向传递也会导致两个不同的输出。 gym 需要进行相同的检查。

最后,你必须检查 cpu 或 gpu。您不能将 cpu 运行的结果与 gpu 运行的结果进行比较。

如果这些检查都不起作用,我可以检查你的 colab 代码(如果你想分享它)。

关于python - DQN 在不同的计算机上表现不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56025783/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com