| 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: 一组可能的行动,每个时间步中任何行动都可能以任何结合方式使用
