列出在openai健身房的所有环境id

Zuo*_*nqh 6 python reinforcement-learning openai-gym

如何在openai健身房列出所有当前注册的环境ID(因为它们用于创建环境)?

有点背景:安装了许多插件,这些插件都有习惯的ID,如atari,super mario,doom等.

不要与atari-py的游戏名称混淆.

Den*_*ers 6

用途envs.registry.all():

from gym import envs
print(envs.registry.all())
Run Code Online (Sandbox Code Playgroud)

日期:

dict_values([EnvSpec(Copy-v0),EnvSpec(RepeatCopy-v0),EnvSpec(ReversedAddition-v0),EnvSpec(ReversedAddition3-v0),EnvSpec(DuplicatedInput-v0),EnvSpec(Reverse-v0),EnvSpec(CartPole-v0) ),...])

这会返回大量EnvSpec对象,而不是您提出的ID.你可以得到这样的:

from gym import envs
all_envs = envs.registry.all()
env_ids = [env_spec.id for env_spec in all_envs]
print(env_ids)
Run Code Online (Sandbox Code Playgroud)

日期:

['Copy-v0','RepeatCopy-v0','ReversedAddition-v0','ReversedAddition3-v0','DuplicatedInput-v0','Reverse-v0','CartPole-v0',...]

  • @milembar 或者只使用 `pprint(envs.registry.keys())` (2认同)

Die*_*lez 5

自 2022 年起使用此方法

from gym import envs
envs.registry.keys()
Run Code Online (Sandbox Code Playgroud)

这会给你这样的东西

dict_keys(['CartPole-v0', 'CartPole-v1', 'MountainCar-v0', 'MountainCarContinuous-v0', 'Pendulum-v1', 'Acrobot-v1', 'LunarLander-v2', 'LunarLanderContinuous-v2', 'BipedalWalker-v3', 'BipedalWalkerHardcore-v3', 'CarRacing-v2', 'Blackjack-v1', 'FrozenLake-v1', 'FrozenLake8x8-v1', 'CliffWalking-v0', 'Taxi-v3', 'Reacher-v2', 'Reacher-v4', 'Pusher-v2', 'Pusher-v4', 'InvertedPendulum-v2', 'InvertedPendulum-v4', 'InvertedDoublePendulum-v2', 'InvertedDoublePendulum-v4', 'HalfCheetah-v2', 'HalfCheetah-v3', 'HalfCheetah-v4', 'Hopper-v2', 'Hopper-v3', 'Hopper-v4', 'Swimmer-v2', 'Swimmer-v3', 'Swimmer-v4', 'Walker2d-v2', 'Walker2d-v3', 'Walker2d-v4', 'Ant-v2', 'Ant-v3', 'Ant-v4', 'Humanoid-v2', 'Humanoid-v3', 'Humanoid-v4', 'HumanoidStandup-v2', 'HumanoidStandup-v4'])
Run Code Online (Sandbox Code Playgroud)