Tianshou(天授)是纯基于 PyTorch的强化学习平台,与现有的主要基于TensorFlow的强化学习库不同,Tianshou没有繁杂的嵌套类、不友好的API和速度较慢的代码,其提供了用于构建深度强化学习代理的快速框架和pythonicAPI。
支持的接口算法包括:
PolicyGradient(PG)
DeepQ-Network(DQN)
DoubleDQN(DDQN) withn-stepreturns
AdvantageActor-Critic(A2C)
DeepDeterministicPolicyGradient(DDPG)
ProximalPolicyOptimization(PPO)
TwinDelayedDDPG(TD3)
SoftActor-Critic(SAC)
Tianshou还支持所有算法并行,所有算法都重新格式化为基于重放缓冲(replay-buffer)模式。
特性:
快速:使用 laptop(i7-8750H+GTX1060)测试为例,CartPole-v0任务中,Tianshou仅需要3秒钟即可根据vanilla策略梯度来训练代理:python3test/discrete/test_pg.py--seed0--render0.03
性能对比:
可重复性:具有单元测试,并且单元测试覆盖针对所有已实现算法的完整代理培训过程。单元测试确保了平台的可重复性模块化:所有算法分解为4部分:__init__:初始化process_fn:从重放缓冲区预处理数据(所有算法都重构为基于重放缓冲的算法)__call__:根据给定的观察值计算操作learn:从给定的批处理数据中学习优雅灵活:整体代码不到1500行,大多数已实现的算法少于100行Python代码。可以根据需要提供许多灵活的API。
评论