目的:

1、加快计算速度
2、缓解大数据压力

使用方式:

详见:【分布式训练】单机多卡的正确打开方式(三):PyTorch
注意:
1、选择 DistributedDataParallel 要比 DataParallel 好

2、可能需要在parser中添加 parser.add_argument("--local_rank", type=int, help="") 如果你出现下面这种错误的话:

  • argument for training: error: unrecognized arguments: --local_rank=2
  • subprocess.CalledProcessError: Command ‘[…]’ returned non-zero exit status 2.

3、如果你的model要加载预训练的参数的话,那么,加载参数的代码需要放在第五步封装之前。比如下面的例子:

# 4) 封装之前要把模型移到对应的gpu
model = model.to(device)
model.load_state_dict(checkpoint["model"]) # 加载预训练参数
if torch.cuda.device_count() > 1:print("Let's use", torch.cuda.device_count(), "GPUs!")# 5) 封装model = torch.nn.parallel.DistributedDataParallel(model,device_ids=[local_rank],output_device=local_rank)

4、里面没提到的细节:
在执行命令的时候,参数nproc_per_node的值是你使用的gpu的数量,例如这里使用了gpu0和1,所以数量是2。

CUDA_VISIBLE_DEVICES=0,1 python -m torch.distributed.launch --nproc_per_node=2 torch_ddp.py

【分布式训练】单机多卡—PyTorch相关推荐

  1. [分布式训练] 单机多卡的正确打开方式:PyTorch

    [分布式训练] 单机多卡的正确打开方式:PyTorch 转自:https://fyubang.com/2019/07/23/distributed-training3/ PyTorch的数据并行相对于 ...

  2. [分布式训练] 单机多卡的正确打开方式:Horovod

    [分布式训练] 单机多卡的正确打开方式:Horovod 转自:https://fyubang.com/2019/07/26/distributed-training4/ 讲完了单机多卡的分布式训练的理 ...

  3. [分布式训练] 单机多卡的正确打开方式:理论基础

    [分布式训练] 单机多卡的正确打开方式:理论基础 转自:https://fyubang.com/2019/07/08/distributed-training/ 瓦砾由于最近bert-large用的比 ...

  4. pytorch GPU分布式训练 单机单卡、单机多卡

    可以用"watch -n 0.1 nvidia-smi"来查看gpu状态,我用的是3块12G的GPU进行实验 本实验将使用一个简单的瞎写的网络进行,网络训练一个分类任务,当然这个不 ...

  5. PyTorch 分布式训练DDP 单机多卡快速上手

    PyTorch 分布式训练DDP 单机多卡快速上手 本文旨在帮助新人快速上手最有效的 PyTorch 单机多卡训练,对于 PyTorch 分布式训练的理论介绍.多方案对比,本文不做详细介绍,有兴趣的读 ...

  6. PyTorch 单机多卡操作总结:分布式DataParallel,混合精度,Horovod)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨科技猛兽@知乎 来源丨https://zhuanlan.zhihu.com/p/15837505 ...

  7. 收藏 | PyTorch 单机多卡操作总结

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:作者丨科技猛兽@知乎 来源丨https://zhuanlan ...

  8. PyTorch单机多卡训练(DDP-DistributedDataParallel的使用)备忘记录

    不做具体的原理分析和介绍(因为我也不咋懂),针对我实际修改可用的一个用法介绍,主要是模型训练入口主函数(main_multi_gpu.py)的四处修改. 以上的介绍来源https://zhuanlan ...

  9. PyTorch单机多卡分布式训练教程及代码示例

    导师不是很懂PyTorch的分布式训练流程,我就做了个PyTorch单机多卡的分布式训练介绍,但是他觉得我做的没这篇好PyTorch分布式训练简明教程 - 知乎.这篇讲的确实很好,不过我感觉我做的也还 ...

最新文章

  1. 如何解决从数据库里面取出的时间晚了8个小时
  2. Unknown storage engine 'InnoDB'
  3. centos 卸载软件_Linux服务器运维必备技能 软件包和启动项超详细整理
  4. Kyligence李扬:数据智能推荐成为技术发展新方向
  5. thymeleaf和freemarker比较
  6. (转)Struts2的标签库
  7. 花瓣网方砖布局 图片内容无限加载 用户体验才是王道
  8. BZOJ1127 POI2008KUP(悬线法)
  9. Web安全攻防:渗透测试实战指南
  10. 计算机系统管理内存的大小是由什么决定的,计算机内存容量大小由什么决定
  11. 数据挖掘实验——认识数据与进行数据预处理
  12. 七牛云完整详细配置(从零到一)
  13. Matlab水果识别——基于形态学处理的水果识别
  14. 少儿学编程好还是奥术好
  15. 时间过的好快呀,中国云计算,一转眼也十年啦
  16. LOFTER72D94FF8E0603DBE38066DB525285F1C
  17. 十大改名换姓的经典名著
  18. DBeaver 深色主题安装教程
  19. 企业移动信息化应用开发模式选型指南
  20. AD/DA转换器性能限度

热门文章

  1. Linux驱动开发中与设备树相关的6种debug方法
  2. 用一张图片告诉你芯片设计
  3. linux platform 驱动模型分析
  4. matlab r2014a错误,MATLAB中的潜在错误使R2014a回归
  5. php循环读取mysql_PHP无限循环获取MySQL数据
  6. 怎么撤回操作_微信又更新,拍一拍能撤回了
  7. python爬虫模拟登录人人网
  8. 一、Java 面向对象高级——Object类、常用API
  9. LeetCode 1650. 二叉树的最近公共祖先 III(哈希)
  10. LeetCode 891. 子序列宽度之和(数学)