[英]How to check the actions available in OpenAI gym environment?
使用 OpenAI gym 時,使用import gym
gym 導入庫后,可以使用env.action_space
檢查動作空間。 但這僅給出了動作空間的大小。 我想知道動作空間的每個元素對應什么樣的動作。 有沒有簡單的方法來做到這一點?
如果你的動作空間是離散的一維空間, env.action_space
會給你一個Discrete
的 object。 您可以像這樣訪問可用操作的數量(它只是一個整數):
env = gym.make("Acrobot-v1")
a = env.action_space
print(a) #prints Discrete(3)
print(a.n) #prints 3
如果你的動作空間是離散的和多維的,你會得到一個MultiDiscrete
(而不是Discrete
)object,你可以在上面調用nvec
(而不是n
)來獲取一個數組,描述每個維度的可用動作的數量。 但請注意,這不是很常見的情況。
如果你有一個連續的動作空間, env.action_space
會給你一個Box
object。 以下是訪問其屬性的方法:
env = gym.make("MountainCarContinuous-v0")
a = env.action_space
print(a) #prints Box(1,)
print(a.shape) #prints (1,), note that you can do a.shape[0] which is 1 here
print(a.is_bounded()) #prints True if your action space is bounded
print(a.high) #prints [1.] an array with the maximum value for each dim
print(a.low) #prints [-1.] same for minimum value
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.