Для чего нужно action_space? - PullRequest
0 голосов
/ 17 июня 2019

Я создаю пользовательскую среду в OpenAI Gym и действительно не понимаю, для чего action_space?И что мне в это положить?Если быть точным, я не знаю, что такое action_space, я не использовал его ни в одном коде.И я ничего не нашел в интернете, что могло бы нормально ответить на мой вопрос.

1 Ответ

0 голосов
/ 25 июня 2019

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.
...