action_space
, используемый в тренажерном зале, используется для определения характеристик пространства действия среды. При этом можно указать, является ли пространство действия непрерывным или дискретным, определить минимальные и максимальные значения действий и т. Д.
Для пространства непрерывного действия можно использовать класс Box .
import gym
from gym import spaces
class MyEnv(gym.Env):
def __init__(self):
# set 2 dimensional continuous action space as continuous
# [-1,2] for first dimension and [-2,4] for second dimension
self.action_space = spaces.Box(np.array([-1,-2]),np.array([2,4]),dtype=np.float32)
Для дискретных можно использовать Дискретный класс.
import gym
from gym import spaces
class MyEnv(gym.Env):
def __init__(self):
# set 2 dimensional action space as discrete {0,1}
self.action_space = spaces.Discrete(2)
Если у вас есть какие-либо другие требования, вы можете перейти в папку в репозитории OpenAI. Вы также можете просмотреть различные среды, указанные в папке спортзала, чтобы получить больше примеров использования action_space
и observation_space
.
Кроме того, пройдите core.py , чтобы узнать, какие все методы / функции необходимы для совместимости среды с тренажерным залом.
The main OpenAI Gym class. It encapsulates an environment with
arbitrary behind-the-scenes dynamics. An environment can be
partially or fully observed.
The main API methods that users of this class need to know are:
step
reset
render
close
seed
And set the following attributes:
action_space: The Space object corresponding to valid actions
observation_space: The Space object corresponding to valid observations
reward_range: A tuple corresponding to the min and max possible rewards
Note: a default reward range set to [-inf,+inf] already exists. Set it if you want a narrower range.
The methods are accessed publicly as "step", "reset", etc.. The
non-underscored versions are wrapper methods to which we may add
functionality over time.