Pytorch 多 GPU 并行处理机制
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 数量。
这里有两点需要注意:
- 主 GPU 默认情况下是 0 号 GPU,也可以通过
torch.cuda.set_device(id)
来手动更改默认 GPU。 - 提供的多 GPU 并行列表中需要包含有主 GPU。
作者:叶俊贤
链接:https://www.jianshu.com/p/9e36e5e36638
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
Pytorch 多 GPU 并行处理机制相关推荐
- pytorch使用gpu(linux服务器上)
1.查看服务器中GPU信息: 转自这里-->https://blog.csdn.net/handsome_bear/article/details/80903477 nvidia-smi 2 ...
- anaconda中使用pip安装pytorch(GPU)
anaconda中使用pip安装pytorch(GPU) 由于conda直接安装torch遇到了问题,在此记录一下另一种装法. 一.确认cuda与cudnn安装完成 我在以前已经安装完成了 在这仅确认 ...
- 一文读懂 PyTorch 显存管理机制
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者丨米阿罗@知乎(已授权) 来源丨https://zhuanlan ...
- pytorch 多GPU训练总结(DataParallel的使用)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/weixin_40087578/arti ...
- pytorch多gpu并行训练操作指南
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 来源:知乎 作者:link-web 链接:https://zhuanlan.zhi ...
- pytorch 同步gpu
pytorch 同步gpu import torch a = torch.tensor([[1, 2, 3],[4, 5, 6]])b = torch.tensor([[2, 2, 2], [3, 3 ...
- pytorch 优化GPU显存占用,避免out of memory
pytorch 优化GPU显存占用,避免out of memory 分享一个最实用的招: 用完把tensor删掉,pytorch不会自动清理显存! 代码举例,最后多删除一个,gpu显存占用就会下降,训 ...
- pytorch 多GPU训练
pytorch 多GPU训练 pytorch多GPU最终还是没搞通,可用的部分是前向计算,back propagation会出错,当时运行通过,也不太确定是如何通过了的.目前是这样,有机会再来补充 p ...
- 收藏 | PyTorch实现各种注意力机制
点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:机器之心 AI博士笔记系列推荐 周志华<机器学习>手推笔记正式开源!可打印版本附pdf下载链接 P ...
最新文章
- Hibernate环境搭建以及HelloWorld
- Welcome Party
- 零基础如何学Java?拥有编程思想呢?
- 浅谈二次元场景特征和绘制手法
- UI5 setBusyIndicatorDelay
- sum怎么用python_python sum()函数和.sum(axis=0)函数的使用
- LeetCode 581. Shortest Unsorted Continuous Subarray
- Analysis-ik 中文分词安装
- linux查询服务器cpu核数_linux 下查看机器是cpu是几核的
- C++::My Effective C++ (二)
- 深入理解JavaScript系列(13):This? Yes,this!
- datatable高效写入mysql_如何将DataTable批量写入数据库
- Android Xml解析
- Python基础知识- 列表
- 我的世界超能物质纳米机器人_我的世界超能物质攻略
- 推荐模型-序列推荐-2018:SHAN
- 怎么从SPSS的分析结果中得出回归方程?
- idea设置Java class模板注释
- 【ARM】IMX6UL串口通信
- 你用什么软件做笔记?