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