2017-12-06 15 views
2

私はアタリ2600ゲームのフロイトバイトをトレーニングしようとしていましたOpenAIのDQNベースライン。私は夫婦の問題に気づいたそれを実行しようとしているいくつかの時間を過ごした後のLinuxやPython 3を使用しています:OpenAIジムアタリベースラインdeepq train.pyが失敗しました

  1. from baselines.common.atari_wrappers_deprecated import wrap_dqn を認識されていませんでした。オンラインで検索した後、私は、これは簡単な修正であることがわかった:私はそれの後にコードを実行した from baselines.common.atari_wrappers import wrap_deepmind

  2. Iもらう実験の行246に次のエラー/アタリ/ train.py:

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

私はこの問題が過去15日以内にポップアップしたことを知り、まだ回答がありませんでした。私はRLの初心者ですので、アイデアはあまりありません。誰にも考えがありますか?

+0

同じ問題があります。いくつかの近くのファイルを見て、彼らが情報["steps"]を使う方法は他のところで異なって行われているので、私はそれを修正しました。その後、同じ問題を抱える情報[報酬]があります。それはまた別の場所でも行われます。私は、これらのtrain.pyとenjoy.pyファイルが古くなっていると思われます。 –

答えて

0

baseline/deepq/experiments/atari/train.pyとenjoy.pyを破ったコミットで変更されたものがあるため、この問題の原因となったかなり大きなコミット "bb40378"があります。

  1. ベースライン/ common/misc_util.pyをコミット "8822518"のバージョンに置き換えます。コミット "bb40378"で起こったのは、TrainMidが必要とするキー "ステップ"と "報酬"を設定するSimpleMonitorの削除だったので、古いバージョンを入手するとそれが戻ってきます。
  2. 修正train.pyは、私がこの修正のために自分のリポジトリをフォークし

(wrap_atari_dqnは、私は信じて正しいものである)SimpleMonitorは、それを使用し、そのENVラッパーの問題を解決することをインポートします。あなたはコミットを見ることができますhere. あなたは自分のレポの自分のクローンに変更を加えたり、好きなだけ自分のレポをクローンしたりすることができます。

私が楽しんでいた間に、モデルに示されているようにobser.pyを表示するオプションを入れました。スケーリングやグレースケール変換がゲームの重要な情報を失っているかどうかを確認できます。

更新

それはおそらく、私はほとんど成功してポンとブレイクアウトにこの事をしようとしたことを指摘する価値があります。ブレイクアウトでは画面の左端に座っています。サーブはいつもそこにあるようですが、必然的にいくつかの点がありますが、実際にはプレイしていません。 Pongでは画面の一番下にあり、そこに座っています。だから、少なくともこの実験/ atariの下でのデフォルトの学習物は、実際にはatariのものをあまりにもよく習得していないようです。おそらく、変更する必要のある設定があります。それは離陸しますが、あなたには驚かないで、箱からすぐに友達。