Pytorch 单机多GPU训练 DataParallel和DistributedDataParallel

1、DataParallel原理

 2、DataParallel使用

os.environ['CUDA_VISIBLE_DEVICES'] = '2, 7'  # 设置可见GPU编号
# device_ids=range(torch.cuda.device_count())  # torch.cuda.device_count()=2
# device_ids=[0,1] 这里的0 就是上述指定 2,是默认主gpu,  1就是7,模型和数据由主gpu分发

model = Model(...)
if torch.cuda.device_count() > 1:
  model = nn.DataParallel(model)

device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
model.to(device)  # cuda:0将为主gpu
# 以上两行可以用model.cuda()代替,默认cuda:0为主gpu

...

mytensor = my_tensor.to(device)

3、使用DataParallel的模型保存与加载:

https://www.cnblogs.com/wildkid1024/p/13025352.html

4、DistributedDataParallel单机多gpu训练与模型保存加载:

(文中代码里有少许bug):​​​​​​​​​​​​​​​​​​​​​

Multi-GPU Computing with Pytorch (Draft) (srijithr.gitlab.io)​​​​​​

参考:

pytorch 多GPU训练总结(DataParallel的使用)_不忘初心不动摇-CSDN博客_pytorch多gpu训练

Optional: Data Parallelism — PyTorch Tutorials 1.10.0+cu102 documentation

pytorch多gpu并行训练 - 知乎

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值