- 概览
- 安装
- 教程
- 算法接口文档
- 简易高效的并行接口
- APIS
- FREQUENTLY ASKED QUESTIONS
- EVOKIT
- 其他
- parl.algorithms.paddle.policy_gradient
- parl.algorithms.paddle.dqn
- parl.algorithms.paddle.ddpg
- parl.algorithms.paddle.ddqn
- parl.algorithms.paddle.oac
- parl.algorithms.paddle.a2c
- parl.algorithms.paddle.qmix
- parl.algorithms.paddle.td3
- parl.algorithms.paddle.sac
- parl.algorithms.paddle.ppo
- parl.algorithms.paddle.maddpg
- parl.core.paddle.model
- parl.core.paddle.algorithm
- parl.remote.remote_decorator
- parl.core.paddle.agent
- parl.remote.client
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
Xparl 并行概览
简单易用
通过一个简单的修饰符 @parl.remote_class
,用户就可以很简单地实现并行计算,无需关注繁琐的多进程通讯以及网络通讯,也不受Python多线程GIL锁的限制。
高性能
@parl.remote_class
可以让我们实现真正意义上的多线程并发计算(堪比C++的多线程)。正如下图a所示,python原生的多线程加速表现很糟糕(由于全局锁GIL的存在),但是我们可以看到,PARL的并行可以线性地减少运行时间,从而提升并发效率。
Web 页面监控集群信息
在多机并行计算的时候,PARL在启动集群的时候提供了web服务,用户可以通过这个页面查看每台机器上的内存、CPU使用率等,同时也可以查看每个任务占用了多少集群资源。
全框架兼容
PARL的并行可以兼容目前市场上的任何深度学习框架,比如tensorflow、pytorch、mxnet等。通过增加并行修饰符 @parl.remote_class
,用户就可以把他们之前的代码转换成并行代码。
为什么用PARL
高吞吐量、高并发
PARL在实现底层的并行计算时,是通过端到端的这种网络传输,也就是在进行并发任务时,没有额外的网络损耗。这种并行设计,相比于RLlib需要通过Redis进行数据中转,PARL在同样的时间内,有更高的数据吞吐量。根据我们之前做的实验对比,运行同样的IMPALA算法,在同样的机器上,PARL的并行性能是更优秀的。
自动分发本地文件
市面上的并行框架大部分得要用户手动同步文件才可以跑起并行代码,比如配置文件得要手动或者通过命令分发到不同机器,parl可以自动分发当前目录下的代码文件,实现无缝的多机并行。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论