Pytorch分布式训练,其他GPU进程占用GPU0的原因

问题

最近跑师兄21年的论文代码,代码里使用了Pytorch分布式训练,在单机8卡的情况下,运行代码,出现如下问题。

也就是说GPU(1..7)上的进程占用了GPU0,这导致GPU0占的显存太多,以至于我的batchsize不能和原论文保持一致。

解决方法

我一点一点进行debug。

首先,在数据加载部分,由于没有将local_rankworld_size传入get_cifar_iter函数,导致后续使用DALI创建pipeline时使用了默认的local_rank=0,因此会在GPU0上多出该GPU下的进程

其次,在使用torch.load加载模型权重时,没有设置map_location,于是会默认加载到GPU0上,下图我选择将模型权重加载到cpu。虽然,这会使训练速度变慢,但为了和论文的batchsize保持一致也不得不这样做了。-.-

参考文献

  1. nn.parallel.DistributedDataParallel多卡训练,第一张卡会多出进程?
相关推荐
li星野3 小时前
双指针 & 贪心算法六题通关:从回文串到跳跃游戏(Python + C++)
python·游戏·贪心算法
WL_Aurora3 小时前
Python 算法基础篇之元组与列表
python·算法
颜安青4 小时前
【python】运算符号(后续不断补充)
开发语言·python
于先生吖4 小时前
家政派单小程序源头厂家
python
于先生吖4 小时前
口碑好的家政派单小程序
python
深度学习lover4 小时前
<数据集>yolo 货车识别<目标检测>
人工智能·python·yolo·目标检测·计算机视觉·货车识别
geovindu4 小时前
Python: Condition Variable Pattern
开发语言·python·设计模式·条件变量模式
yuanpan4 小时前
Python + Pillow 实战:开发一个图片批量格式转换工具
python·microsoft·pillow
YJlio4 小时前
2023-09-25:ChatGPT 开始支持“看、听、说”,从纯文本正式迈向多模态交互
人工智能·python·科技·chatgpt·django·交互·pygame
技术工小李4 小时前
陆家嘴国泰人寿荣誉墙|iPad人脸识别人像大屏展示案例
python