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