Python Reinforcement Learning - пространство наблюдения Tuple - PullRequest
2 голосов
/ 09 октября 2019

Я создал специальную среду для занятий спортом в openai с дискретным пространством действий и несколько сложным пространством состояний. Пространство состояний было определено как кортеж, потому что оно объединяет некоторые измерения, которые являются непрерывными, и другие, которые являются дискретными:

import gym
from gym import spaces

class CustomEnv(gym.Env):
    def __init__(self):
        self.action_space = spaces.Discrete(3)
        self.observation_space = spaces.Tuple((spaces.Discrete(16),
                                               spaces.Discrete(2),
                                               spaces.Box(0,20000,shape=(1,)),
                                               spaces.Box(0,1000,shape=(1,)))
    ...

Мне посчастливилось обучить агента с использованием keras-rl, в частности DQNAgent,однако keras-rl недостаточно поддерживается и очень плохо документирован. Любые рекомендации для пакетов RL, которые могут обрабатывать этот тип пространства наблюдения? Похоже, что openai baselines, или stable-baselines не могут справиться с этим в настоящее время.

В качестве альтернативы, есть ли другой способ, которым я могу определить свое пространство состояний, чтобы вписать свою среду в один из этих лучше определенных пакетов?

1 Ответ

1 голос
/ 17 октября 2019

Вы можете попробовать rllib пакет ray, который расширен в UC в Беркли.

https://rise.cs.berkeley.edu/projects/ray/

Он включает в себя множество реализованных алгоритмов:

enter image description here и прост в использовании. Вам просто нужно добавить свою среду, которая полностью объяснена по адресу: https://ray.readthedocs.io/en/latest/rllib-env.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...