专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

Pytorch分布式训练极简体验

  1任务介绍
  通过实现一个线性变换模型
  的单机2卡分布式训练任务,来初步体验pytorch中DistributeDataparallel的使用。本文主要参考pytorchtutorial中的介绍。
  2整体流程
  代码编写流程如下:初始化pytorch分布式训练通信模块;创建模型(这里包括本地模型和分布式模型)创建损失函数和优化器计算(forward和backward)和梯度更新多任务启动
  3初始化通信模块
  pytorch中分布式通信模块为torch。distributed
  本例中初始化代码为:通过环境变量MASTERADDR和MASTERPORT设置rank0的IP和PORT信息,rank0的作用相当于是协调节点,需要其他所有节点知道其访问地址;本例中后端选择的是nccl,通过设置NCCLDEBUG环境变量为INFO,输出NCCL的调试信息;initprocessgroup:执行网络通信模块的初始化工作backend:设置后端网络通信的实现库,可选的为gloo、nccl和mpi;rank:为当前rank的index,用于标记当前是第几个rank,取值为0到worksize1之间的值;worldsize:有多少个进程参与到分布式训练中;setenv信息os。environ〔MASTERADDR〕127。0。0。1os。environ〔MASTERPORT〕29500os。environ〔NCCLDEBUG〕INFOcreatedefaultprocessgroupdist。initprocessgroup(backendnccl,rankrank,worldsizeworldsize)
  4创建模型
  通过下面的代码分别创建本地模型和分布式模型:nn。Linear(10,10)。to(rank):创建线性变换模型,inputsize和outputsize都是10,并且将模型copy到gpu上(通过rank来标识gpu的id)DDP(model,deviceids〔rank〕):创建分布式模型;该模型会将localmodel复制到所有副本上,并对数据进行切分,然后使得每个localmodel都按照minibatch进行训练。createlocalmodelmodelnn。Linear(10,10)。to(rank)constructDDPmodelddpmodelDDP(model,deviceids〔rank〕)
  5创建Loss和optimizerdefinelossfunctionandoptimizerlossfnnn。MSELoss()optimizeroptim。SGD(ddpmodel。parameters(),lr0。001)
  6计算和梯度更新
  通过ddpmodel执行forward和backward计算,这样才能够达到分布式计算的效果;forwardpassoutputsddpmodel(torch。randn(20,10)。to(rank))labelstorch。randn(20,10)。to(rank)backwardpasslossfn(outputs,labels)。backward()updateparametersoptimizer。step()
  7任务启动
  启动一个有两个process组成的分布式任务:runworker:子进程执行的function,会以fn(i,args)的形式被调用,i为process的id(0,1,2。。。),args为spawn的args参数args:执行进程的参数nprocs:进程的个数join:是否等待子进程执行完成defmain():workersize2mp。spawn(runworker,args(workersize,),nprocsworkersize,joinTrue)
  8完整代码importosimporttorchimporttorch。distributedasdistimporttorch。multiprocessingasmpimporttorch。nnasnnimporttorch。optimasoptimfromtorch。nn。parallelimportDistributedDataParallelasDDPdefrunworker(rank,worldsize):os。environ〔MASTERADDR〕127。0。0。1os。environ〔MASTERPORT〕29500os。environ〔NCCLDEBUG〕INFOcreatedefaultprocessgroupdist。initprocessgroup(backendnccl,rankrank,worldsizeworldsize)createlocalmodelmodelnn。Linear(10,10)。to(rank)constructDDPmodelddpmodelDDP(model,deviceids〔rank〕)definelossfunctionandoptimizerlossfnnn。MSELoss()optimizeroptim。SGD(ddpmodel。parameters(),lr0。001)forwardpassoutputsddpmodel(torch。randn(20,10)。to(rank))labelstorch。randn(20,10)。to(rank)backwardpasslossfn(outputs,labels)。backward()updateparametersoptimizer。step()defmain():workersize2mp。spawn(runworker,args(workersize,),nprocsworkersize,joinTrue)ifnamemain:main()
  代码执行如下:rootg48r13:workspaceDDPpythonlinearddp。pyg48r13:350:350〔0〕NCCLINFOBootstrap:Using〔0〕bond0:11。139。84。880g48r13:350:350〔0〕NCCLINFONETPlugin:Nopluginfound(libncclnet。so),usinginternalimplementationg48r13:350:350〔0〕miscibvwrap。cc:63NCCLWARNFailedtoopenlibibverbs。so〔。1〕g48r13:350:350〔0〕NCCLINFONETSocket:Using〔0〕bond0:11。139。84。880g48r13:350:350〔0〕NCCLINFOUsingnetworkSocketNCCLversion2。7。8cuda10。2g48r13:351:351〔1〕NCCLINFOBootstrap:Using〔0〕bond0:11。139。84。880g48r13:351:351〔1〕NCCLINFONETPlugin:Nopluginfound(libncclnet。so),usinginternalimplementationg48r13:351:351〔1〕miscibvwrap。cc:63NCCLWARNFailedtoopenlibibverbs。so〔。1〕g48r13:351:351〔1〕NCCLINFONETSocket:Using〔0〕bond0:11。139。84。880g48r13:351:351〔1〕NCCLINFOUsingnetworkSocketg48r13:350:366〔0〕NCCLINFOChannel0002:01g48r13:351:367〔1〕NCCLINFOthreadThresholds8864168648864g48r13:350:366〔0〕NCCLINFOChannel0102:01g48r13:351:367〔1〕NCCLINFOTrees〔0〕1111001111〔1〕1111001111g48r13:351:367〔1〕NCCLINFOSettingaffinityforGPU1toffffffff,ffffffffg48r13:350:366〔0〕NCCLINFOthreadThresholds8864168648864g48r13:350:366〔0〕NCCLINFOTrees〔0〕1110110111〔1〕1110110111g48r13:350:366〔0〕NCCLINFOSettingaffinityforGPU0toffffffff,ffffffffg48r13:351:367〔1〕NCCLINFOChannel00:1〔5000〕0〔4000〕viaP2PIPCg48r13:350:366〔0〕NCCLINFOChannel00:0〔4000〕1〔5000〕viaP2PIPCg48r13:351:367〔1〕NCCLINFOChannel01:1〔5000〕0〔4000〕viaP2PIPCg48r13:350:366〔0〕NCCLINFOChannel01:0〔4000〕1〔5000〕viaP2PIPCg48r13:351:367〔1〕NCCLINFO2collchannels,2p2pchannels,2p2pchannelsperpeerg48r13:351:367〔1〕NCCLINFOcomm0x7fb0b4001060rank1nranks2cudaDev1busId5000InitCOMPLETEg48r13:350:366〔0〕NCCLINFO2collchannels,2p2pchannels,2p2pchannelsperpeerg48r13:350:366〔0〕NCCLINFOcomm0x7fc7a8001060rank0nranks2cudaDev0busId4000InitCOMPLETEg48r13:350:350〔0〕NCCLINFOLaunchmodeParallel

3大数据分析板块,6个数据分析模型,快速搞懂数据分析流程本文则针对性地讲讲数据分析整个流程最关键的阶段数据处理与分析阶段。该阶段我分成了三块数据采集数据处理数据分析。因为数据采集处理分析都围绕着数据进行,对海量或杂乱数据进行处理分析,从为一雪5G落后的耻辱,美国大举推进6G希望反超华为,或难如愿据悉美国如今正在加速推进6G的发展,尤其是希望借助在卫星通信技术上的优势,实现在6G技术的上反超,因此大举加速卫星通信发展,甚至外媒还喊出了华为在6G技术上已没机会。卫星通信是美国深度解读!钙钛矿微观结构器件性能关系研究进展与挑战综述要点1。金属卤化物钙钛矿电池的研究现状。2。钙钛矿微观结构的分类及对本征特性的影响。3。钙钛矿微观结构的的局域光物理性质总结。4。钙钛矿电池器件总结与展望。一MHPs的优势以及有钱人真多!iPhone14Pro系列畅销,苹果垄断60高端市场根据多份调查数据显示,上半年国内智能手机销量持续下滑,平均跌幅都在20以上。正当大家感叹买不起手机的时候,iPhone14Pro系列却持续畅销垄断高端市场,将近万元旗舰机供不应求,1900亿颗芯片!ASML态度突变,外媒中企芯片热被点燃了本文原创,禁止抄袭,违者必究近几年来,美国为了遏制中国在高端科技领域的发展,而多次对我国进行芯片技术方面的限制,从而达到在芯片等高科技领域让中国与高端制造业脱钩的目的,近几日,美国以太坊合并后的混乱市场文章作者DessislavaAubertConorRyderCFARiyadCareyClaraMedalie文章编译Blockunicorn本周趋势随着抛售压力的增加和矿工的离去我国科学家团队主导研究发现调节植物生长的氮营养信号开关来源新华社新华社西安9月23日电(记者姚友明)23日,西北农林科技大学生命学院刘坤祥教授领衔的植物氮素营养团队的研究成果在科学在线发表。这表明该团队主导研究发现了调节植物生长的氮营千鸟互联获数千万元B轮融资中证网讯(记者万宇)千鸟互联近期举行2022年数字化产业高峰论坛暨B轮融资发布会。据介绍,在此轮融资中,千鸟互联将获得由宏太资本投资的数千万元B轮融资,资金将主要用于旗下的智能云工人类该做准备了?科学家发出警告可能很快会找到外星人现代科学认为,人类是由猿类生物进化而来的,在200多万年前,猿类生物生存在地球上,当时地球上还生活着很多其它凶猛的生物,猿类生物为了能够长久的发展下去,它们选择了群居生活,群居生活王传福我国锂资源可满足3亿台车电动化小鹏G9上市两天后进行价格配置调整36氪新能源日报0923作者韩哲熙编辑张麟36氪ToB产业组会为大家汇总每日新能源领域的主要新闻,9月23日新能源行业动态日报如下新能源应用风向王传福我国锂资源可满足3亿台车电动化在9月23日举办的中国新865老旗舰VS骁龙8高端影像1天前vivoX50Pro全主观感受,初次发图文,请大家多多指导如果能帮到大家提供一点选机参考就再好不过了谢谢大家!之前转到百脑汇,刚好小米和华为挨着本着好奇的心态进行把玩对比。手
中外科研人员通过防晒霜揭秘2。52亿年前生物大灭绝曲布剖面二叠三叠系过渡地层中发现的花粉化石(阿里粉)。南古所供图中新网南京1月7日电(记者杨颜慈)据中国科学院南京地质古生物研究所7日消息,该所刘锋研究员与英国德国等地的同行合作,多地惊现网约车坟场,58万家公司注销,行业寒冬才刚刚开始?全文共1320字,阅读需约1分钟全国各地又开始出现网约车坟场,在网约车全面新能源背后,各大车企都将目光瞄准网约车行业,各种为网约车定制的车型源源不断流入,在网约车行业缺乏足够增量的八年前的今天,华为任总说华为法务要学会妥协灰度八年前的今天,华为任总说华为与友商共同建设未来人类社会分享利益,法务要学会妥协灰度总裁办电子邮件电邮讲话2015015号签发人任正非任总在与法务部董秘及无线员工座谈会上的讲话201风靡30年前的5种零食,最贵的也才2毛,吃过的至少是叔叔辈了头条创作挑战赛风靡30年前的5种零食,最贵的也才2毛,如今很难找到,你吃过吗?不知不觉,还有不到半个月的时间就是除夕佳节了,一年又要过去了,2023年的春节要来了,第一批80后已经140多年前,杨乃武与小白菜冤案被澄清后,二人的后半生截然不同开棺,验尸!1876年,北京朝阳门外海会寺内一口棺木摆在正中,这里面藏的是一个惊世疑案的真相,结论到底如何,只有开棺才知道。棺木打开,一股尸臭扑鼻而来,很显然,尸身已有年头,皮肉早外媒报道,iPhone14Pro拍照太拉,还不如一年前的小米11ultra如果说近几年安卓旗舰升级最大的地方,我觉得不是性能,不是续航,也不是屏幕,而是影像,这也是目前各家最看重的地方。由于在屏幕,性能等方面主要还是三星屏幕,高通骁龙处理器,所以并不能拉(远古发现)2亿多年前的花粉粒揭示陆地生物大灭绝元凶新华社南京1月7日电(记者朱筱王珏玢)记者从中国科学院南京地质古生物研究所获悉,中国英国德国古生物学者通过研究远古植物花粉粒中类似防晒霜物质的变化,发现了2。52亿年前陆地生物大灭新物种!我国科学家发现2。44亿年前奇异罗平龙北京日报客户端记者刘苏雅中科院古脊椎动物与古人类研究所科研人员在云南省罗平县距今2。44亿年前的中三叠世海相地层,发现一种新的肿肋龙科爬行动物。其代表了多指节型鳍龙类最早出现的化石谁是2。52亿年前生物大灭绝的罪魁祸首?化石花粉中的防晒霜揭示答案现代快报讯(记者阿里亚)距今约2。52亿年前的二叠纪末生物大灭绝,是地球生命演化史中最大规模的一次生物集群灭绝。中国科学院南京地质古生物研究所研究员刘锋与英国德国同行等合作,通过研拦不住了?最新数据出炉,华为小米带头发力,正面硬碰硬苹果这些年苹果能毫无创新的还坐上国内智能手机的霸主之位,说白了就是通过老美限制华为来得到的。自从华为被受限后,市场上就一直有着苹果吃饱,国产喝汤的说法,但是华为从来都没有妥协过。华为M阳后很多人中招!别急着囤药,试试它,轻松补充电解质!您好,每天为你分享最实用的美食做法,烹饪窍门,养生菜谱!最近,我们在朋友圈里时常能看到晒囤药的照片,也有人因买不到药而焦虑,还有人因逼近决赛圈而紧张,甚至有人开始提前吃药预防。其实
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网