OpenAI Gym

OpenAI Gymのメモ

OpenAI Gymインストール

  1. Anaconda環境をインストール。 インストール方法はここ)。
  2. gymのインストール
$ pip install gym

FAQ

Q. Google ColaboratoryでOpenAI Gymを使いたい

A. ライブラリのインストールやアニメーション表示が問題になりますが,そこそこにはなんとかなります。以下を見てください。

Q. 実行時のエラー: “Error: Tried to reset environment which is not done. While the monitor is active for CartPole-v1, you cannot call reset() unless the episode is over.”

A. max_episode_steps の値を調整する。

  • 方法1: env.tags['wrapper_config.TimeLimit.max_episode_steps'] = 500
  • 方法2:
register(
    id='CartPole-v1',
    entry_point='gym.envs.classic_control:CartPoleEnv',
    tags={'wrapper_config.TimeLimit.max_episode_steps': 500},
    reward_threshold=475.0,
)

idの名前を変えれば,仮に違う名前の環境として定義できる。

参考URL: How to configure the cartpole environment such that it is not capped at 200?

Q. FrozenLakeが滑り過ぎで困る。滑らない環境にしたい。

方法1

以下のように引数is_slepperyを使って,決定論的状態遷移に変更できる。

env = gym.make("FrozenLake-v0", is_slippery=False)

方法2

以下のような設定を加える。ついでに,他のパラメータ設定もできる。

from gym.envs.registration import register
register(
    id='FrozenLakeNotSlippery-v0',
    entry_point='gym.envs.toy_text:FrozenLakeEnv',
    kwargs={'map_name' : '4x4', 'is_slippery': False},
    max_episode_steps=100,
    reward_threshold=0.78, # optimum = .8196
)

環境名(id)は自由に変えられる。上記の場合はFrozenLakeNotSlippery-v0

参考URL: Setting is_slippery=False in FrozenLake-v0