TL; DR
-
使用OpenAI Gym的Atari环境时,请使用名为
{}NoFrameskip-v4 的环境。- 环境侧无跳帧
-
ALE侧没有
repeat_action_probability
关于OpenAI Gym的Atari环境
简介
本文是关于OpenAI Gym 0.10.5版本(2018/04/05版本; https://github.com/openai/gym/releases/tag/v0.10.5)。请注意,我们尚未确认其他版本的任何内容。
1 2 | $ pip freeze | grep gym gym==0.10.5 |
环境列表
参考:python-列出openai健身房中的所有环境ID-堆栈溢出
可以使用以下代码完整输出当前在Gym中注册的环境列表:
1 2 3 4 5 | from gym import envs all_envs = envs.registry.all() env_ids = [env_spec.id for env_spec in all_envs] for env_id in env_ids: print(env_id) |
命名约定
截至目前(2018年5月14日),在OpenAI Gym的Atari中,您可以检查每个游戏的以下环境(游戏名称在
- {} -v0
- {} -v4
- {}确定性v0
- {}确定性v4
- {} NoFrameskip-v0
- {} NoFrameskip-v4
- {} -ram-v0
- {} -ram-v4
- {} -ramDeterministic-v0
- {} -ramDeterministic-v4
- {} -ramNoFrameskip-v0
- {} -ramNoFrameskip-v4
例如,对于Pong:
- 傍v0
- 傍v4
- Pong确定性v0
- Pong确定性v4
- PongNoFrameskip-v0
- PongNoFrameskip-v4
- Pong-ram-v0
- Pong-ram-v4
- Pong-ram确定性v0
- Pong-ramDeterministic-v4
- Pong-ramNoFrameskip-v0
- Pong-ramNoFrameskip-v4
我想找出每个后缀的含义。
如果您遵循OpenAI Gym的源代码,则可以看到含义:
- https://github.com/openai/gym/blob/v0.10.5/gym/envs/__init__.py#L424
- https://github.com/openai/gym/blob/v0.10.5/gym/envs/atari/atari_env.py#L19
每个后缀都是部分有意义的组合,因此我将从上面的代码中解释每个后缀。
v0 / v4
v0和v4之间的差异是
-
v0:
repeat_action_probability = 0.25 - 换句话说,在ALE端,"无论输入什么动作,都以0.25的概率重复先前的动作"。
-
v4:
repeat_action_probability = 0.0 - 换句话说,ALE侧重复动作的概率为零。
(对应部分:https://github.com/openai/gym/blob/v0.10.5/gym/envs/__init__.py#L454,https://github.com/openai/gym/blob/v0 .10.5 / gym / envs / atari / atari_env.py#L40)
由于ALEInterface的repeat_action_probability设置,AtariEnv不确定性加倍·问题#349·openai / Gym
根据此问题,
-
repeat_action_probability 是ALE侧的动作重复设置。 - 除非您将其显式设置为零,否则它将无法正常工作。
您可以看到
。
从上面可以看出,除非有特定原因,否则最好使用v4。