青光眼有什么症状| 承五行属什么| 着凉嗓子疼吃什么药| 同房后小腹疼痛是什么原因| 阴道炎用什么药最好| VH是什么品牌| 属羊的什么命| 兰州有什么好吃的| 碧玺是什么材质| 小郡肝是什么| 一直嗝气是什么原因| 脚指甲盖凹凸不平是什么原因| 人授和试管有什么区别| 长期熬夜吃什么可以补回来| 为什么总是做梦| 舌苔厚口臭吃什么药好| 怨天尤人是什么意思| lirs 是什么意思| 吾矛之利的利什么意思| 什么的眼睛填空| 谥号是什么意思| 风湿性心脏病是什么原因引起的| 前列腺按摩什么感觉| 梦见一群羊是什么意思| 击剑什么意思| 冲喜是什么意思| 脖子不舒服看什么科| 看演唱会需要准备什么| 石墨灰是什么颜色| 1950年属什么生肖| 理学是什么意思| fl是胎儿的什么意思| 胃不好吃什么菜| 膀胱癌早期是什么症状| 黑茶是什么茶| 吃什么水果对子宫和卵巢好| 登革热是什么症状| 酱油是什么时候发明的| 除湿气吃什么| 依非韦伦片治什么病的| 女性绝经期在什么年龄是正常的| 法王是什么意思| 岩茶属于什么茶| 养肝护肝吃什么食物| 颈椎间盘突出有什么症状| 白内障有什么症状| 亲子鉴定去医院挂什么科| 十羊九不全是什么意思| 12月21号是什么星座| 用苦良心是什么意思| 什么是血沉| 为什么想吃甜食| 藏红花是什么| 水肺潜水是什么意思| 海柳什么颜色最贵的| 气不够用是什么原因| 失眠吃什么| 生理期可以吃什么水果| moose是什么意思| 十余载是什么意思| 肾结石喝酒有什么影响| 甲状腺结节忌口什么| 韭菜有什么功效| 肝实质回声欠均匀是什么意思| 真丝用什么洗| 尿碱是什么| 脑干出血是什么原因造成的| 勃艮第红是什么颜色| fredperry是什么牌子| 吃什么可以治拉肚子| 红细胞分布宽度偏高是什么意思| 小青蛙吃什么| 兔死什么悲| bcr是什么意思| 你说到底为什么都是我的错| 竖中指什么意思| 太阳是什么颜色的| 什么是滑膜炎| 可怜巴巴的意思是什么| 中老年人补钙吃什么牌子的钙片好| 马上风为什么拔不出来| 砍单是什么意思| 肾疼是什么原因| 为什么会梦到蛇| 心心相什么| 去三亚穿什么衣服合适| 筒子骨炖什么好吃| cm是什么岗位| 一直想吐是什么原因| 拉稀水是什么原因| 宫颈肥大需要注意什么| cot是什么| 狗生小狗前有什么征兆| 百合什么时候收获| 福州有什么好玩的地方| 猫癣传染人什么症状| 昂热为什么认识路鸣泽| 什么的香蕉| 梦龙什么口味好吃| medium什么意思| 缺蛋白质吃什么补得快| 越南讲什么语言| 广西属于什么地区| 鸩杀是什么意思| 2018年属什么| 内膜增厚是什么原因| 类固醇是什么东西| 胃不消化吃什么药好| 石女是什么意思啊| bc是什么牌子| 体质是什么意思| 公务员是什么编制| ch是什么牌子| 西红柿什么时候吃最好| 女同性恋叫什么| 狗肉和什么食物相克| x代表什么意思| 什么食物含硒| 氯雷他定是什么药| 赴汤蹈火的汤是什么意思| graff是什么牌子| 人瘦肚子大是什么原因| 左边后背疼是什么原因| 什么时间量血压最准| 代孕是什么意思| 精气神是什么意思| 什么大笑| 抽烟手抖是什么原因| 骨质疏松打什么针| 靶向治疗是什么意思| 冠状沟是什么位置| 什么夺目| 分母是什么意思| oil什么意思| 十九朵玫瑰花代表什么意思| 阴壁有许多颗粒是什么原因| 手足口一般擦什么药膏| 荷尔蒙是什么东西起什么作用| 肝病吃什么药| 胃经常胀气是什么原因| 手淫是什么| 经常中暑是什么原因| nrc是什么意思| 凤尾菜又叫什么菜| 四月十六日是什么星座| bpd是胎儿的什么| 打太极是什么意思| 水杯用什么材质的好| 飘了是什么意思| 六月六日是什么节日| 高脂血症是什么意思| 5月30日是什么星座| 白敬亭原名叫什么| 奎字五行属什么| 什么的雕像| 抑郁症什么意思| 焦虑症吃什么药最好| 鳀鱼是什么鱼| 海关锁是什么意思| 早上醒来手麻是什么原因| 农历六月十一是什么星座| emba是什么意思| 要强是什么意思| 微量元素挂什么科| 鲈鱼是什么鱼| mgd是什么意思| 乌龟吃什么| 查艾滋病挂什么科| 儿童矮小挂什么科| 研究生体检都检查什么| 关节镜是什么| 大便干燥一粒一粒的吃什么药| 正太是什么| 感冒咳嗽一直不好是什么原因| 老生常谈是什么意思| 什么病不能熬夜| 九六年属什么的| cba是什么意思| 无利不起早是什么意思| 10月19号什么星座| 一九八八年属什么生肖| 孕妇鼻子出血是什么原因| 五阴是什么| kp是什么意思| 阳气最强的树是什么树| 奕五行属什么| 为什么狐臭女很漂亮| 小腿出汗是什么原因| 什么是好词| 宰相的宰最早指什么| 三什么开泰| 93年的属什么| 梦见死猪是什么意思| 煲蛇汤放什么材料好| 天地不仁以万物为刍狗是什么意思| rbc是什么意思医学| 鼻窦炎首选什么抗生素| 孕前检查挂什么科室| 舌苔白腻吃什么药| 上海有什么特色美食| 5月12号是什么日子| 有偿什么意思| 去澳门需要什么证件| 扁桃体发炎咳嗽吃什么药效果好| 排黑便是什么原因| 花胶是什么东西| sob是什么意思| 检查宫颈做什么检查| 胆囊在什么位置| 白塞氏吃什么药| 目字旁与什么有关| 上善若水什么意思| 杨梅不能和什么一起吃| 兜售是什么意思| aemape是什么牌子| 结婚23年是什么婚| 什么是幽门螺杆菌感染| 同房后小腹疼痛是什么原因| 非典型鳞状细胞是什么意思| 118代表什么意思| 克是什么单位| 目赤是什么症状| 骨龄大于年龄意味着什么| 便血鲜红色无疼痛是什么原因| 世界上最难写的字是什么| 夜盲吃什么维生素| 胸膜牵拉是什么意思| 晨对什么| 宫颈纳氏腺囊肿是什么意思| 脐带血有什么用| 什么颜色的衣服显白| 什么的小火车| 老鹰的天敌是什么| 烤鱼什么鱼好吃| 女人更年期吃什么药调理最好| 胸闷气短吃什么特效药| 吃阿胶对女人有什么好处| 空调制冷量是什么意思| 火字旁跟什么有关| 重逢是什么意思| 怀孕后期脚肿是什么原因| 圣诞节什么时候| 蓝海是什么意思| 腿上有白色条纹是什么| tomorrow什么意思| 解脲脲原体是什么意思| 奥运会五环颜色分别代表什么| 过奖了是什么意思| 喜欢出汗是什么原因| 心脏早搏吃什么药效果好| 什么是赤道| 尿酸高肌酐高是什么原因呢| 为难的难是什么意思| visa是什么| 洋字五行属什么| 小伙子是什么意思| 田各读什么| 豆腐干炒什么菜好吃| 皮炎不能吃什么食物| 腺肌症是什么病| 阴道流黄水是什么原因| 生理期是什么| da是什么单位| 94狗跟什么属相配最好| 百度
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.
皮肤黑的人穿什么颜色的衣服显白 黄体破裂是什么意思 无名指和小指发麻是什么原因 右胳膊麻木是什么征兆 什么使我快乐
什么是碧玺 小太阳是什么牌子 和五行属什么 为什么晚上不能晾衣服 十二月七号是什么星座
止鼾什么方法最有效 chuck是什么意思 推拿和按摩有什么区别 儿童鸡胸挂什么科 爱情公寓6什么时候上映
倒数是什么意思 慢性肾炎是什么原因引起的 白带带血是什么原因 被孤立的一般是什么人 关东八大碗都有什么
copd是什么意思cj623037.com 电是什么时候发明的hcv7jop7ns3r.cn vivi是什么意思hcv7jop6ns3r.cn 梦见怀孕的女人是什么意思hcv7jop6ns3r.cn 什么疲倦weuuu.com
猴子怕什么hcv8jop3ns1r.cn 美国为什么要打伊朗hcv8jop4ns1r.cn 衣字旁有什么字hcv9jop4ns9r.cn 心律不齐用什么药hcv8jop8ns1r.cn 傻人有傻福什么意思hcv8jop5ns5r.cn
手抖头抖是什么病zhongyiyatai.com 小孩记忆力差是什么原因hcv9jop3ns9r.cn dr是什么检查项目hcv7jop5ns0r.cn 关节疼挂什么科hcv9jop7ns1r.cn 炖鸡放什么调料onlinewuye.com
梦见自己又结婚了是什么意思hcv8jop4ns0r.cn 牛肉饺子馅配什么蔬菜hcv8jop8ns5r.cn 什么已经什么hcv9jop6ns8r.cn 姨妈发黑量少什么原因hcv8jop2ns6r.cn 什么叫内痔什么叫外痔hanqikai.com
百度