首页 > 解决方案 > 缺少种子函数,无法使用 Open AI Gym 和 PyTorch 创建可重复的 RL 实验

问题描述

我正在使用一个简单的 DDQN-PER ( https://github.com/higgsfield/RL-Adventure/blob/master/4.prioritized%20dqn.ipynb ) 来运行我的 RL 实验。这可以用作我的问题的最小且可验证的代码。

此外,这里是我发现有用的种子功能 -

random.seed(seed)
np.random.seed(seed)
torch.manual_seed(seed)
torch.cuda.manual_seed(seed)
torch.backends.cudnn.deterministic = True
env.seed(seed)
env.action_space.seed(seed)

尽管如此,我无法重现我的实验。我相信我缺少一些种子功能,并且会很感激对此的投入。

标签: pytorchreinforcement-learning

解决方案


检查你的健身房版本。最近对 v0.20 进行了重大升级。

这里还有一篇博文,描述了新环境应该是确定性的,引用了本质:

决定论

到目前为止,ALE 还没有完全确定。存在通过取决于控制台状态的各种方法实现自己的 PRNG 的游戏。我们现在正确控制了这种随机性来源,现在可以自信地说模拟器是 100% 确定性的。


推荐阅读