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多卡训练,第一张卡会多出进程?
相关推荐
小袁拒绝摆烂2 小时前
OpenCV-python灰度变化和直方图修正类型
python·opencv·计算机视觉
Dxy12393102165 小时前
Python 条件语句详解
开发语言·python
龙泉寺天下行走5 小时前
Python 翻译词典小程序
python·oracle·小程序
践行见远5 小时前
django之视图
python·django·drf
love530love6 小时前
Windows避坑部署CosyVoice多语言大语言模型
人工智能·windows·python·语言模型·自然语言处理·pycharm
掘金-我是哪吒7 小时前
分布式微服务系统架构第132集:Python大模型,fastapi项目-Jeskson文档-微服务分布式系统架构
分布式·python·微服务·架构·系统架构
xhdll8 小时前
egpo进行train_egpo训练时,keyvalueError:“replay_sequence_length“
python·egpo
Cchaofan8 小时前
lesson01-PyTorch初见(理论+代码实战)
人工智能·pytorch·python
网络小白不怕黑8 小时前
Python Socket编程:实现简单的客户端-服务器通信
服务器·网络·python
Ronin-Lotus9 小时前
程序代码篇---python获取http界面上按钮或者数据输入
python·http