本文属转载,原文地址:https://www.jianshu.com/p/9e36e5e36638?utm_source=oschina-app

Pytorch 的多 GPU 处理接口是 torch.nn.DataParallel(module, device_ids),其中 module 参数是所要执行的模型,而 device_ids 则是指定并行的 GPU id 列表。

而其并行处理机制是,首先将模型加载到主 GPU 上,然后再将模型复制到各个指定的从 GPU 中,然后将输入数据按 batch 维度进行划分,具体来说就是每个 GPU 分配到的数据 batch 数量是总输入数据的 batch 除以指定 GPU 个数。每个 GPU 将针对各自的输入数据独立进行 forward 计算,最后将各个 GPU 的 loss 进行求和,再用反向传播更新单个 GPU 上的模型参数,再将更新后的模型参数复制到剩余指定的 GPU 中,这样就完成了一次迭代计算。所以该接口还要求输入数据的 batch 数量要不小于所指定的 GPU 数量。

这里有两点需要注意:

  1. 主 GPU 默认情况下是 0 号 GPU,也可以通过 torch.cuda.set_device(id) 来手动更改默认 GPU。
  2. 提供的多 GPU 并行列表中需要包含有主 GPU。

------------------------END-------------------------------

Pytorch并行处理机制相关推荐

  1. Pytorch 多 GPU 并行处理机制

    Pytorch 的多 GPU 处理接口是 torch.nn.DataParallel(module, device_ids),其中 module 参数是所要执行的模型,而 device_ids 则是指 ...

  2. 【收藏】万字综述,核心开发者全面解读PyTorch内部机制

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:Edward Z.Yang,Pytorch核心开发者 斯坦福大学博 ...

  3. 综述|核心开发者全面解读Pytorch内部机制

    ↑ 点击蓝字 关注视学算法 作者丨Edward Z. Yang 来源丨机器之心 编辑丨极市平台 极市导读 Edward Z. Yang 是PyTorch开源项目的核心开发者之一.在PyTorch纽约聚 ...

  4. 全面解读PyTorch内部机制

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|深度学习这件小事 斯坦福大学博士生与 Facebook ...

  5. 万字综述,核心开发者全面解读PyTorch内部机制

    选自ezyang博客 作者:Edward Z. Yang 机器之心编译 参与:panda 斯坦福大学博士生与 Facebook 人工智能研究所研究工程师 Edward Z. Yang 是 PyTorc ...

  6. 一文搞懂 PyTorch 内部机制

    文 | ArchWalker 译者序:这篇博文是一篇非常新的介绍PyTorch内部机制的文章,作者Edward Z Yang来自于Stanford大学,是PyTorch的核心开发者之一.文章中介绍了如 ...

  7. pytorch并行处理详解(多GPU,环境变量)

    目录 数据并行 方法一:环境变量 + device + to(device) 第一步,指定*备选*的GPU 直接终端中设定: python代码中设定: 第二步,创建设备(device) 第三步,将da ...

  8. pytorch hook机制

    pytorch_hook机制 文章目录 pytorch_hook机制 前言 一.hook简介 二.Tensor的hook机制 三.基于Module的hook机制 register_forward_ho ...

  9. x265笔记_3_并行处理机制

    文章目录 HEVC中的并行处理技术 功能并行和数据并行 HEVC解码端的并行处理框架 HEVC中编码单元数据之间的依赖关系 HEVC编解码的并行策略 Tile级别的并行策略 CTB级别的并行策略/波前 ...

  10. 想读读PyTorch底层代码?这份内核机制简介送给你

    学习 PyTorch 比较简单,但你能学习 PyTorch 内部机制吗?最近,有 14 年 ML 经验的大神 Christian 介绍了 PyTorch 的内核机制.虽然在实际使用中并不需要这些知识, ...

最新文章

  1. 给Python代码加上酷炫进度条的几种姿势
  2. 单网卡部署WEB+Mail+FTP+ISA服务器之四:局域网内部署FTP和winwebmail服务器
  3. 前端开发中Cookie那些事儿
  4. hashCode之一--两个对象值相同,有相同的hash code
  5. 1 分钟教会你用 Spring Boot 发邮件
  6. 奖学金pascal程序
  7. jenkins linux虚拟机,Linux系统中jenkins使用的简单介绍
  8. 网络延迟造成插入多条重复数据
  9. CodeForces - 1559D2 Mocha and Diana (Hard Version)(思维)
  10. linux中grep命令查找目录下,linux中查找grep与find命令的使用
  11. baidumap vue 判断范围_vue中百度地图API的调用
  12. Hbase的基于快照的表修复
  13. 【HDOJ2087】剪花布条(KMP)
  14. 无线传感器网络技术原理及应用 知识点
  15. 【万字总结】基于多智能体强化学习的《星际争霸II》中大师级水平的技术研究
  16. 最好的60个国外壁纸网站
  17. java获取当天星期几
  18. javascript百炼成仙 第一章 掌握JavaScript基础1.8 对象的取值
  19. 变态Java系列 String
  20. 主成分回归分析实战教程

热门文章

  1. 以DMA方式开启DAC输出正弦波
  2. 域名被封跟服务器IP有没有关系?
  3. 各种手机处理器排行榜_手机处理器性能排行榜和代表机型介绍
  4. 广和通高通物联网技术开放日成功举办
  5. 软路由:AdGuardHome + OpenWRT 让你家的网络无广告无跟踪
  6. 中国养蚕及深加工市场盈利模式与投资价值评估报告(2022-2027年)
  7. 2009年03月《安全天下事之希望与忧伤》
  8. Qt QML 模块化管理(三)—— qmldir的化繁为简
  9. 分布式事务之两阶段提交
  10. 关于网站建设的主要流程和步骤(小白指南)