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多卡训练,第一张卡会多出进程?
相关推荐
Qres8215 分钟前
Rabrg/artificial-life test
python·模拟
财经资讯数据_灵砚智能12 分钟前
基于全球经济类多源新闻的NLP情感分析与数据可视化(夜间-次晨)2026年5月1日
大数据·人工智能·python·信息可视化·自然语言处理
ting945200012 分钟前
动手学深度学习(PyTorch版)深度详解(8):现代循环神经网络(实战 + 避坑)
pytorch·rnn·深度学习
好奇龙猫25 分钟前
[大学院ーpython-base learning3: python and recommendation system ]
开发语言·python
篮子里的玫瑰34 分钟前
Python与网络爬虫——字典与集合
开发语言·python
skilllite作者1 小时前
Zed 1.0 编辑器深度评测与实战指南
开发语言·人工智能·windows·python·编辑器·agi
2401_882273721 小时前
pattern属性在旧版Android浏览器无效怎么办_手动验证补充【操作】
jvm·数据库·python
贾红平1 小时前
Python装饰器实战指南
python
清水白石0081 小时前
深入 Python 循环引用与垃圾回收:如何应对内存管理的挑战
java·jvm·python
MediaTea1 小时前
人工智能通识课:Scikit-learn 机器学习工具库
人工智能·python·机器学习·scikit-learn