pytorch 分布式训练

57 篇文章 5 订阅 ¥39.90 ¥99.00
本文详细介绍了PyTorch中的分布式训练,包括模型并行与数据并行的策略,以及同步更新和异步更新的区别。重点讨论了torch.nn.DataParallel和DistributedDataParallel(DDP)的使用,指出DataParallel的局限性和DDP的优势。文中还详细阐述了单机多卡和多机多卡的分布式训练实现,并提供了参考资源和实践指南。
摘要由CSDN通过智能技术生成

分布式训练分为这几类:

按照并行方式来分:模型并行 vs 数据并行
按照更新方式来分:同步更新 vs 异步更新
按照算法来分:Parameter Server算法 vs AllReduce算法

torch.nn.DataParallel

torch.nn.DataParallel(module, device_ids=None, output_device=None, dim=0):

这个函数主要有三个参数:

  • module:即模型,此处注意,虽然输入数据被均分到不同gpu上,但每个gpu上都要拷贝一份模型。
  • device_ids:即参与训练的gpu列表,例如三块卡, device_ids = [0,1,2]。
  • output_device:指定输出gpu,一般省略。在省略的情况下,默认为第一块卡,即索引为0的卡。此处有一个问题,输入计算是被几块卡均分的,但输出loss的计算是由这一张卡独自承担的,这就造成这张卡所承受的计算量要大于其他参与训练的卡。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一壶浊酒..

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值