维生素c主治什么| 什么书在书店买不到| 着床是什么意思| 伏天吃羊肉有什么好处| 乜是什么意思| 一流是什么意思| 神经性皮炎用什么药膏好| 梦到吵架是什么意思| 梦见表姐是什么意思| 白头发多吃什么| st-t改变是什么意思| 什么食物养胃又治胃病| 代谢慢的人吃什么有助于新陈代谢| 生茶和熟茶有什么区别| 妇乐颗粒的功效能治什么病| nba新赛季什么时候开始| 脾脏大是什么原因| 为什么警察叫条子| 甲亢可以吃什么| 女性得乙肝有什么症状| 世上谁嫌男人丑的前一句是什么| 茄子炒什么好吃| 产前诊断是检查什么| 中秋节送什么水果好| 送长辈什么礼物合适| 须尽欢什么意思| 躁郁症是什么| 智齿旁边的牙齿叫什么| 口腔溃疡吃什么药好使| 1970年五行属什么| 秋田狐鱼钩适合钓什么鱼| fgr医学上是什么意思| 普通健康证都检查什么| 脑白质脱髓鞘吃什么药| 蜜糖有什么功效和作用| 吃什么东西能变白| 手足情深什么意思| tvoc是什么| 结婚证需要什么资料| 9999是什么意思| 合肥有什么特产| 1975年是什么年| 世界上最大的山是什么山| macd是什么意思| 懿读什么| 中药木香的功效与作用是什么| 电压高是什么原因造成| 急性肠胃炎吃什么药效果好| 梦见掉了三颗牙齿是什么意思| 香蕉像什么比喻句| 网黄是什么意思| 鼻子大说明什么| 宝宝什么时候添加辅食最好| 失眠吃什么药| CNN什么意思| 总是很困想睡觉是什么原因| 草字头加个弓念什么| 小便不利是什么意思| 华丽的什么| 眉头下方有痣代表什么| 过敏性鼻炎用什么药最好| 好记性不如烂笔头是什么意思| 什么石什么鸟| 电风扇不转是什么原因| 榴莲不可以和什么食物一起吃| 黄金分割点是什么| 鱼油有什么好处| 阁老相当于现在什么官| 煸是什么意思| 吃羊肉不能吃什么水果| 凤凰单丛属于什么茶| 中出是什么意识| 形婚是什么| 木棉花的花语是什么| 异父异母是什么意思| 乌龟代表什么数字| 胸口中间疼是什么原因| 肠套叠是什么意思| 六角恐龙吃什么| 珠联璧合是什么意思| 悦己是什么意思| 牙齿出血是什么病征兆| 炖肉放山楂起什么作用| 985和211是什么意思| 内热吃什么药| 尿道炎吃什么药比较好的快| 西药是用什么材料做的| 草果在炖肉起什么作用| 海鲜不能和什么食物一起吃| 肾囊肿用什么药| 肛门疼痛是什么原因| 白羊座的幸运色是什么颜色| 什么是c刊| 蓝色配什么裤子| En什么意思| 胎位lop是什么意思| 医保自费是什么意思| 八月是什么星座| 荔枝代表什么寓意| 榴莲皮可以做什么| 胀气吃什么| 2027是什么年| 性价比高什么意思| 秋葵有什么好处| 骟是什么意思| 乳腺低回声是什么意思| 声字五行属什么| 犒劳自己是什么意思| 悦己是什么意思| 夜晚的星星像什么| 左腹部疼是什么原因| 出油多是什么原因| 障碍性贫血是什么病| 缺血灶是什么病| 口巴读什么| 什么样的女人容易出轨| 梦见仙鹤是什么意思| 大腿酸痛什么原因| 李知恩为什么叫iu| 48年属什么生肖| 支原体抗体阳性是什么意思| 点滴是什么意思| 舌头麻木是什么原因引起| 胃酸烧心吃什么药可以根治| 尉姓氏读什么的| 做扩胸运动有什么好处| 2005年属鸡是什么命| 七月三号什么星座| 为什么会怀孕| hc是什么意思| 西瓜和什么相克| 舒畅的舅舅是做什么的| 电商五行属什么| 肾虚有什么症状| 什么人容易得肺结核| 射频消融术是什么意思| 胃肠彩超能检查出什么| 麻腮风是什么| xr是什么| 值神天德是什么意思| 缘木求鱼是什么意思| 仲夏夜是什么意思| 手抖是什么情况| 人为什么会长白头发| 吃什么可以养胃| 常吃南瓜子有什么好处和坏处| 暗的反义词是什么| 刮痧红色说明什么原因| 示字旁与什么有关| 清肺火肺热吃什么药最有效| 下巴两边长痘痘是什么原因| who是什么意思| gold什么意思| 胸闷心慌是什么病| 什么是阴道| 梦见狗是什么意思| 上大学需要准备什么| 腰椎滑脱是什么意思| 肝脏挂什么科| 水逆是什么意思| 就绪是什么意思| 1964年是什么命| 为什么经常做梦| 眼底出血是什么原因造成的| 塑造是什么意思| 李逵代表什么生肖| 感冒吃什么恢复快| 裸官是什么意思| 豆花是什么| 梦见摘丝瓜有什么预兆| 尿蛋白十一什么意思| 小便有血是什么原因| skll什么牌子| 什么是周围神经病| 寒食节是什么时候| 培根是什么肉做的| 紫癜是一种什么病严重吗| 九月初八是什么星座| 检查乙肝五项挂什么科| 小龙虾不能和什么一起吃| 高压氧舱治疗什么效果| he是什么| 胃出血恢复期吃什么好| 太阳出来我爬山坡是什么歌| 昂字五行属什么| 每天熬夜有什么危害| 什么旺土| 山梨酸钾是什么| 什么粥减肥效果好| 洛阳白马寺求什么最灵| 曲拉是什么| eb病毒抗体阳性是什么意思| 深圳车牌摇号需要什么条件| 蔗糖素是什么| 肌无力是什么症状| 一日之计在于晨是什么生肖| 全麦面是什么面| 华佗属什么生肖| 做什么生意最赚钱| 眼圈黑是什么原因| 手麻木是什么引起的| 心脏下边是什么器官| 性激素六项是什么| 为什么会得血管瘤| 狗眼看人低是什么意思| 女人左眼角有痣代表什么| mra检查是什么意思| 经常中暑的人体内缺什么| 锦绣未央什么意思| 安宫牛黄丸为什么那么贵| 鹅蛋不能和什么一起吃| 做美甲有什么危害| 满满的回忆什么意思| 阴盛格阳是什么意思| 小孩子流鼻血是什么原因| 热的什么| 荤段子是什么意思| 放疗与化疗区别是什么| 4.21什么星座| kodak是什么牌子| 半斤八两什么意思| 冬虫夏草补什么| 梦见床上有蛇什么预兆| 甲壳虫吃什么食物| 碱是什么东西| 砥砺什么意思| c60是什么| 腿上有白色条纹是什么| 颅骨早闭合有什么症状| 鸡的祖先是什么动物| 沐字五行属什么| 经常放屁什么原因| 乙肝复查检查什么项目| 喝什么水解酒| 99年属什么生肖| 女人的排卵期一般是什么时候| 妊娠是什么意思啊| 化学阉割什么意思| 朗朗原名叫什么| 白事随礼钱有什么讲究| 吃过期的药有什么后果| 八股是什么意思| 上炕是什么意思| 不要问为什么| 食用碱是什么| 肠炎可以吃什么水果| 感染性腹泻吃什么药| 女人吃葛根粉有什么好处| 牵牛花是什么颜色的| 男性阴囊瘙痒用什么药膏| 低血钾有什么症状| 神经衰弱是什么病| 画饼是什么意思| 甲胎蛋白偏高是什么原因| 快走对身体有什么好处| 晚上胃疼是什么原因| 润喉咙什么东西最合适| 蓝颜知己什么意思| 六味地黄丸有什么功效| 莲子有什么功效和作用| 正正得什么| 有眼不识泰山是什么意思| 孔雀鱼吃什么| 百合什么时候开花| 百度
Skip to content

PaddlePaddle/PARL

Repository files navigation

PARL

English | 简体中文

Documentation Status Documentation Status Documentation Status Release

PARL is a flexible and high-efficient reinforcement learning framework.

About PARL

Features

Reproducible. We provide algorithms that stably reproduce the result of many influential reinforcement learning algorithms.

Large Scale. Ability to support high-performance parallelization of training with thousands of CPUs and multi-GPUs.

Reusable. Algorithms provided in the repository could be directly adapted to a new task by defining a forward network and training mechanism will be built automatically.

Extensible. Build new algorithms quickly by inheriting the abstract class in the framework.

Abstractions

abstractions

PARL aims to build an agent for training algorithms to perform complex tasks. The main abstractions introduced by PARL that are used to build an agent recursively are the following:

Model

Model is abstracted to construct the forward network which defines a policy network or critic network given state as input.

Algorithm

Algorithm describes the mechanism to update parameters in Model and often contains at least one model.

Agent

Agent, a data bridge between the environment and the algorithm, is responsible for data I/O with the outside environment and describes data preprocessing before feeding data into the training process.

Note: For more information about base classes, please visit our tutorial and API documentation.

Parallelization

PARL provides a compact API for distributed training, allowing users to transfer the code into a parallelized version by simply adding a decorator. For more information about our APIs for parallel training, please visit our documentation.
Here is a Hello World example to demonstrate how easy it is to leverage outer computation resources.

#============Agent.py=================
@parl.remote_class
class Agent(object):

    def say_hello(self):
        print("Hello World!")

    def sum(self, a, b):
        return a+b

parl.connect('localhost:8037')
agent = Agent()
agent.say_hello()
ans = agent.sum(1,5) # it runs remotely, without consuming any local computation resources

Two steps to use outer computation resources:

  1. use the parl.remote_class to decorate a class at first, after which it is transferred to be a new class that can run in other CPUs or machines.
  2. call parl.connect to initialize parallel communication before creating an object. Calling any function of the objects does not consume local computation resources since they are executed elsewhere.

PARL

As shown in the above figure, real actors (orange circle) are running at the cpu cluster, while the learner (blue circle) is running at the local gpu with several remote actors (yellow circle with dotted edge).

For users, they can write code in a simple way, just like writing multi-thread code, but with actors consuming remote resources. We have also provided examples of parallized algorithms like IMPALA, A2C. For more details in usage please refer to these examples.

Install:

Dependencies

  • Python 3.6+(Python 3.8+ is preferable for distributed training).
  • paddlepaddle>=2.3.1 (Optional, if you only want to use APIs related to parallelization alone)
pip install parl

Detailed Installation Guide (Continuously Updated)

Getting Started

Several-points to get you started:

For beginners who know little about reinforcement learning, we also provide an introductory course: ( Video | Code )

Examples

NeurlIPS2018 Half-Cheetah Breakout
NeurlIPS2018

xparl Security

xparl provides multi-process parallelism across a multi-machine cluster, similar to Python's built-in single-machine multiprocessing. This means that after writing code on a client, you can execute arbitrary code on any machine within the cluster, such as retrieving data from other machines, adding or deleting files, etc.

This behavior is by design, as reinforcement learning environments are diverse, and env_wrapper needs the ability to perform any possible operation. xparl achieves this functionality using pickle (similar to ray). Unlike in most cases where pickle may be considered a vulnerability, here it is an essential feature.

Security Considerations

Since arbitrary code execution is possible, users must ensure the cluster is secure:

  • Do not allow untrusted machines to join the cluster.
  • Do not expose the xparl ports to the public internet or allow untrusted users to access the cluster.
  • Do not execute untrusted code on the cluster.
HPV高危亚型52阳性什么意思 奕什么意思 牛津布是什么材质 下面老是痒是什么原因 打嗝吃什么药效果好
胃萎缩是什么原因 14时是什么时辰 大枣枸杞泡水喝有什么好处 好五行属什么 为什么男人
2008年是什么年 甲抗是什么原因引起的 交可以组什么词 荨麻疹为什么晚上起 石斛什么价格
集合是什么 提成是什么 7月1日是什么节日 女人喝劲酒有什么好处 哈萨克斯坦是什么人种
乙肝五项135阳性是什么意思hcv9jop7ns1r.cn 100年前是什么朝代hcv8jop6ns1r.cn 鹞是什么意思hcv8jop4ns0r.cn 正常人为什么传导阻滞hcv9jop1ns6r.cn 6541是什么药hcv8jop6ns2r.cn
嗓子痛什么原因ff14chat.com 鳖吃什么食物hcv9jop3ns3r.cn 肺阴不足的症状是什么hcv8jop0ns3r.cn 双相情感障碍什么意思hcv9jop0ns8r.cn 糖尿病可以吃什么菜hcv9jop1ns5r.cn
吃什么对大脑记忆力好hcv8jop0ns5r.cn 肚脐两边疼是什么原因0297y7.com 春砂仁与什么煲汤最佳hcv8jop5ns4r.cn aojo眼镜什么档次hcv9jop4ns8r.cn 生殖疱疹吃什么药不复发hcv9jop8ns3r.cn
经期喝什么补气血hcv7jop7ns0r.cn 鼻中隔偏曲是什么意思travellingsim.com 痛苦的反义词是什么hcv8jop8ns0r.cn 经常饿肚子会导致什么后果hcv8jop5ns9r.cn 不畏将来不念过往什么意思hcv9jop1ns9r.cn
百度