我创建了一个自定义的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基线或稳定基线都无法处理它。
或者,我是否可以通过其他方式定义状态空间,以使环境适合这些定义更好的软件包之一?
您可能想尝试rllib
的ray
程序包,该程序包已在伯克利大学的UC中扩展。