Как передать список кортежей в качестве области действия в OpenAI Gym?

При создании среды OpenAI Gym с нуля необходимо определить пространство действий. Это делается с их собственными «структурами данных» из пакетов «пробелов». Существует несколько различных типов пространств, таких как Box, Discrete и т. Д. У меня есть список кортежей, которые я хочу использовать в качестве пространства действий. Есть ли способ сделать это?

Я потенциально мог использовать spaces.Box(low=0, high=1, shape(4,12), dtype=np.int), но это добавляет много незаконных действий. Я открыт для решений, использующих, например, пробелы. Box, а затем запрещаю / удаляю незаконные действия, но желательно просто вставить свой предварительно созданный список кортежей.


person Joakim Hansen    schedule 24.07.2019    source источник


Ответы (1)


В OpenAI Gym есть пространство действий кортежа. Пример использования:

from gym import spaces
action_space = spaces.Tuple((
        spaces.Discrete(9),
        spaces.Discrete(5)))
person davidlrobinson    schedule 03.04.2020