OpenAI Gym Atari基线deepq train.py失败

时间:2017-12-06 04:27:49

标签: python-3.x openai-gym

我试图在 OpenAI的DQN 基线上训练Atari 2600游戏Frostbite。我使用的是Linux和Python 3.在花了一些时间尝试运行它后,我注意到了几个问题:

  1. from baselines.common.atari_wrappers_deprecated import wrap_dqn 没有得到承认。在线搜索后,我发现这是一个快速修复: from baselines.common.atari_wrappers import wrap_deepmind

  2. 当我运行代码之后,我在实验/ atari / train.py的第246行中收到以下错误:

  3.   

    start_time,start_steps = time.time(),info [" steps"] KeyError:' steps'

    我注意到其他几个人在过去15天左右就出现了这个问题而且还没有回复。我是RL的新手,所以不要有太多的想法。有没有人有任何想法?

1 个答案:

答案 0 :(得分:0)

有一个相当大的提交" bb40378"导致这个问题,因为有些事情在那个突破基线/ deepq / experiments / atari / train.py和enjoy.py的提交中被改变了。我让他们使用以下步骤:

  1. 将baselines / common / misc_util.py替换为commit" 8822518"中的版本。所有这些都发生在提交" bb40378"是删除SimpleMonitor,它设置了那些必要的键"步骤"和"奖励" train.py需要,所以得到旧版本就可以了。
  2. 修改train.py以导入该SimpleMonitor并使用它,并修复该env包装器问题(wrap_atari_dqn是我认为的正确的)
  3. 我为这个修补程序分叉了他们的存储库。您可以看到提交here.  因此,您可以选择将这些更改发布到您自己的repo克隆中,或者只是根据需要克隆我的repo。

    当我在它的时候,我在enjoy.py上添加了一个选项来显示模型所示的观察结果(这样你就可以看到缩放或灰度变换是否丢失了游戏的关键信息)。

    更新

    值得指出的是,我在Pong和Breakout上尝试过这个问题但收效甚微。随着突围,它只是走在屏幕的最左侧 - 因为服务似乎总是在那里它不可避免地得到一些点,但它并没有真正发挥。使用Pong它只是到屏幕的底部并坐在那里。所以至少在这个实验/ atari下的默认学习内容似乎并没有真正学习atari的东西,可能还有一些需要改变的设置,它会起飞但要警告它不会让你的朋友开箱即用,也不会惊慌失措。