如何检查OpenAI体育馆环境中可用的动作?

时间:2020-06-10 12:48:32

标签: reinforcement-learning openai-gym

使用OpenAI Gym时,用import gym导入库后,可以用env.action_space检查动作空间。但这仅提供了动作空间的大小。我想知道动作空间的每个元素对应于哪种动作。有简单的方法吗?

1 个答案:

答案 0 :(得分:2)

如果您的操作空间是离散的且是一维的,则env.action_space将为您提供Discrete对象。您可以像这样访问可用的操作数(只是一个整数):

env = gym.make("Acrobot-v1")
a = env.action_space
print(a)                    #prints Discrete(3)
print(a.n)                  #prints 3

如果您的操作空间是离散的且是多维的,则会得到一个MultiDiscrete(而不是Discrete)对象,可以在该对象上调用nvec(而不是{{1 }})获得一个数组,该数组描述每个维度的可用操作数。但是请注意,这不是很常见的情况。

如果您有连续的操作空间,则n将为您提供env.action_space对象。以下是访问其属性的方法:

Box
相关问题