首页 > 解决方案 > DQN 在不同的计算机上表现不同

问题描述

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

我用

我已经在这个问题上花了大约两个星期没有任何进展:(

我已经检查过:

我的问题是:

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

标签: pythonpython-3.xtensorflowkerasreinforcement-learning

解决方案


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

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

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

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


推荐阅读