python - 列出openai gym中的所有环境id

标签 python reinforcement-learning openai-gym

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

一些上下文:安装了许多具有习惯 ID 的插件,例如 atari、super mario、doom 等。

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

最佳答案

使用envs.registry.all():

from gym import envs
print(envs.registry.all())

输出:

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(sorted(env_ids))

输出:

['Acrobot-v1', 'Ant-v2', 'Ant-v3', 'BipedalWalker-v3', 'BipedalWalkerHardcore-v3', 'Blackjack-v1', 'CarRacing-v0', 'CartPole-v0', 'CartPole-v1', ...]

关于python - 列出openai gym中的所有环境id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48980368/

相关文章:

python - 导入gym时没有名为 'ale_py._ale_py'的模块 - Jupyter Notebook

python - 更新类的属性时清除某些方法的 lru_cache?

python - 尝试编辑/创建时,特定模型的 Django 管理员挂起(直到超时错误)

python - 使用sklearn在python中进行时空克里金法?

machine-learning - 最佳强化学习器优化器

tensorflow - 如何提高机器学习性能——DQ学习模型

python - 如何在 PySide 中添加选项卡

python - Tensorflow在不同variable_scope下共享变量

neural-network - 如何在 Tensorflow 中为异步 n 步 DQN 网络更新累积和应用梯度?

subprocess - SubprocVecEnv 无法与自定义环境一起使用(稳定基线 - 健身房)