簡體   English   中英

如何檢查 OpenAI 健身房環境中可用的操作?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM