Name | Refactored [1] | Recurrent | Box |
Discrete |
Multi Processing |
---|---|---|---|---|---|
A2C | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
ACER | ✔️ | ✔️ | ❌ [4] | ✔️ | ✔️ |
ACKTR | ✔️ | ✔️ | ❌ [4] | ✔️ | ✔️ |
DDPG | ✔️ | ❌ | ✔️ | ❌ | ✔️ [3] |
DQN | ✔️ | ❌ | ❌ | ✔️ | ❌ |
HER | ✔️ | ❌ | ✔️ | ✔️ | ❌ |
GAIL [2] | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ [3] |
PPO1 | ✔️ | ❌ | ✔️ | ✔️ | ✔️ [3] |
PPO2 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
SAC | ✔️ | ❌ | ✔️ | ❌ | ❌ |
TD3 | ✔️ | ❌ | ✔️ | ❌ | ❌ |
TRPO | ✔️ | ❌ | ✔️ | ✔ | ✔️ [3] |
[1] 是否重构以适应BaseRLModel
类
[2] 只用于TRPO
[3] (1,2,3,4)用MPI实现多重处理
[4] 在项目范围内,(1,2)必做
目前任何算法都不支持类似
Dict
或Tuple
这种非数组空间,除非HER
与gym.GoalEnv
一起用,此时会支持Dict
各类行动gym.spaces
:
Box
: 一个包含行动空间中每个点的N维盒子Discrete
: 一组可能的行动,每个时间步中只会采用一个MultiDiscrete
: 一组可能的行动,每个时间步每个离散集中只有一个行动被采用MultiBinary
: 一组可能的行动,每个时间步中任何行动都可能以任何结合方式使用