PyTorch 分布式训练 (DP/DDP/torchrun/多机多卡) <笔记总结>

本文详细介绍了PyTorch中的DataParallel(DP)、DistributedDataParallel(DDP)以及如何进行多机多卡的分布式训练。通过实例解析了如何利用torchrun进行分布式训练的配置,是PyTorch深度学习项目中进行并行计算的重要参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、DataParallel

device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
###	第一步:构建模型
'''
model 需要分发的模型
device_ids 可分发的gpu,默认分发到所有看见GPU(环境变量设置的)
output_device 结果输出设备 通常设置成逻辑gpu的第一个
'''

model = nn.DataParallel( model, device_ids=range(args.gpus), output_device=None)

### 第二步:数据迁移
inputs=inputs.to(device)	
labels=labels.to(device)	
#此处的device通常应为模型输出的output_device,否则无法计算loss

2、DistributedDataParallel

#运行方式一:(旧)
python -m torch.distributed.launch \
       --nnodes 1 \
       --nproc_per_node=4 \
       YourScript.py
# nnodes: 表示有多少个节点,可以通俗的理解为有多少台机器
# nproc_pe
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

xiangyong58

喝杯茶还能肝到天亮,共同进步

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

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

打赏作者

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

抵扣说明:

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

余额充值