Python 强化学习 - 元组观察 Space
Python Reinforcement Learning - Tuple Observation Space
我创建了一个自定义的 openai gym 环境,其中包含离散动作 space 和有点复杂的状态 space。状态 space 被定义为元组,因为它结合了一些连续的维度和其他离散的维度:
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 包有什么建议 space? openai baselines 和 stable-baselines 目前似乎都无法处理它。
或者,是否有其他方法可以定义我的状态 space 以便使我的环境适合这些定义更好的包之一?
您可能想尝试 rllib
,ray
中的强化学习包,它在加州大学伯克利分校得到扩展。
https://rise.cs.berkeley.edu/projects/ray/
它包含了很多实现的算法:
而且它很容易使用。您只需要添加您的环境,该环境在以下位置得到了充分解释:
https://ray.readthedocs.io/en/latest/rllib-env.html
我创建了一个自定义的 openai gym 环境,其中包含离散动作 space 和有点复杂的状态 space。状态 space 被定义为元组,因为它结合了一些连续的维度和其他离散的维度:
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 包有什么建议 space? openai baselines 和 stable-baselines 目前似乎都无法处理它。
或者,是否有其他方法可以定义我的状态 space 以便使我的环境适合这些定义更好的包之一?
您可能想尝试 rllib
,ray
中的强化学习包,它在加州大学伯克利分校得到扩展。
https://rise.cs.berkeley.edu/projects/ray/
它包含了很多实现的算法: