我创建了一个自定义的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基线和稳定基线都不能处理它。
或者,有没有一种不同的方式可以定义我的状态空间,以便将我的环境适应到这些定义得更好的包中?
发布于 2019-10-17 23:01:54
您可能想尝试ray中的强化学习包rllib,它是在加州大学伯克利分校扩展的。
https://rise.cs.berkeley.edu/projects/ray/
它包含了很多已实现的算法:

而且它非常容易使用。您只需添加您的环境,详细说明请参阅:https://ray.readthedocs.io/en/latest/rllib-env.html
https://stackoverflow.com/questions/58306485
复制相似问题