当前位置: 首页 > news >正文

Windows上使用PyTorch训练模型GPU利用率低的原因

在Windows上使用PyTorch训练模型时,任务管理器里的GPU占用率比较低,这是正常的。可以使用nvidia-smi查看真实的GPU占用率。

任务管理器里的GPU占用率

使用nvidia-smi查看真实的GPU占用率

命令(dmon表示以实时监控的形式查看):

nvidia-smi dmon


各列含义:

列名全称 / 解释单位/说明
gpuGPU 索引 (Idx)系统中的 GPU 编号(从 0 开始),多 GPU 时用于区分不同显卡。
pwrPower Draw当前 GPU 功耗(瓦特,W)。
gtempGPU TemperatureGPU 核心温度(摄氏度,℃)。
mtempMemory Temperature显存温度(℃),- 表示无传感器或未支持。
smStreaming Multiprocessor流处理器利用率(百分比,%),反映 CUDA 核心的计算负载。
memMemory Utilization显存带宽利用率(%),非显存容量占用,表示显存控制器的繁忙程度。
encEncoder Utilization视频编码器(如 NVENC)利用率(%)。
decDecoder Utilization视频解码器(如 NVDEC)利用率(%)。
mclkMemory Clock显存时钟频率(MHz),越高表示显存速度越快。
pclkProcessor ClockGPU 核心时钟频率(MHz),反映 GPU 核心的当前运行速度。

sm 和 mem 高百分比表明 GPU 计算或显存带宽成为瓶颈。在深度训练时,需要关注 sm 和 mem 是否接近 100%,确保 GPU 满载。

GPU占用率确实低的解决方案

可以在PyTorch DataLoader里设置num_workers和pin_memory参数解决。注意:在windows上设置num_workers后,训练函数必须放到if __name__ == "__main__"里面,否则会报错。

注意:不要把num_workers设置的太大,创建worker也需要很多时间。可以从2开始加,只要保证使用nvidia-smi查看的GPU利用率在90%以上即可。然后调整batch_size,让显存占用率也在90%左右即可。

示例代码:

importtorchimporttorch.nnasnnimporttorch.optimasoptimimporttorch.utils.dataasdatafromtorchvisionimportdatasets,transforms num_epochs=20batch_size=100learning_rate=0.001transform=transforms.Compose([transforms.ToTensor(),transforms.Normalize((0.5,),(0.5,))])train_dataset=datasets.MNIST(root="./data",train=True,transform=transform,download=True)test_dataset=datasets.MNIST(root="./data",train=False,transform=transform,download=True)train_loader=data.DataLoader(train_dataset,batch_size=batch_size,shuffle=True,num_workers=2,pin_memory=True)test_loader=data.DataLoader(test_dataset,batch_size=batch_size,shuffle=False)device=torch.device("cuda"iftorch.cuda.is_available()else"cpu")classCNNModel(nn.Module):def__init__(self):super().__init__()self.layer1=nn.Sequential(nn.Conv2d(1,32,kernel_size=5,stride=1,padding=2),nn.ReLU(),nn.MaxPool2d(kernel_size=2,stride=2),)self.layer2=nn.Sequential(nn.Conv2d(32,64,kernel_size=5,stride=1,padding=2),nn.ReLU(),nn.MaxPool2d(kernel_size=2,stride=2),)self.dropout=nn.Dropout()self.fc1=nn.Linear(7*7*64,1000)self.fc2=nn.Linear(1000,10)defforward(self,x):out=self.layer1(x)out=self.layer2(out)out=out.reshape(out.size(0),-1)out=self.dropout(out)out=self.fc1(out)out=self.fc2(out)returnout model=CNNModel().to(device)criterion=nn.CrossEntropyLoss()optimizer=optim.Adam(model.parameters(),lr=learning_rate)deftrain():model.train()forepochinrange(num_epochs):fori,(images,labels)inenumerate(train_loader):images=images.to(device)labels=labels.to(device)output=model(images)loss=criterion(output,labels)optimizer.zero_grad()loss.backward()optimizer.step()if(i+1)%100==0:print("Epoch [{}/{}], Step [{}/{}], Loss: {:.4f}".format(epoch+1,num_epochs,i+1,len(train_loader),loss.item()))deftest():model.eval()withtorch.no_grad():total=0correct=0forimages,labelsintest_loader:images=images.to(device)labels=labels.to(device)output=model(images)_,predict=torch.max(output,1)total+=labels.size(0)correct+=(predict==labels).sum().item()print("Accuracy of 10000 test images: {} %".format(correct/total*100))if__name__=="__main__":train()test()

原文:PyTorch训练GPU占用率低?别被任务管理器骗了,用这招看真实利用率 - 超腾开源

http://www.jsqmd.com/news/911154/

相关文章:

  • Yi-6B微调完整指南:从数据准备到模型部署的完整流程
  • MiniCPM3-4B-FP16应用实战:构建智能问答系统的5个步骤
  • 2026年国内Top5岩板品牌推荐!2026广东佛山最新排名出炉,大板智联梦想家优势突出 - 十大品牌榜
  • Cadence IC617仿真避坑:手把手教你从仿真曲线中提取TSMC 65nm工艺的MOS参数(附计算模板)
  • 行业黑幕曝光!杭州 5 大直播代运营 真实 GMV 对决 - 品牌榜中榜
  • Paradox游戏模组管理终极指南:5个简单步骤彻底解决模组冲突问题
  • 2026 年6月天津继承律所深度测评,深耕家族财富传承 - 资讯快报
  • 2026昆明装修公司哪家好?真实案例验证家装避坑指南 - 商业新知
  • 三步让经典游戏重获新生:IPXWrapper拯救老游戏联机体验
  • 基于Arduino与步进电机的低成本自动化3D扫描转台DIY全攻略
  • 南厢观宁府全面介绍:青浦城央 20 年一遇的 1.0 低密纯墅标杆 - 资讯速览
  • 2026年南宁全屋定制哪家好?最新深度测评TOP10 - 界川
  • EfficientNet-B7多模态应用:图像+文本联合处理
  • 163MusicLyrics:重新定义音乐歌词获取体验的智能助手
  • 把闲置的魔百盒M401A变成智能家居大脑:保姆级Armbian+Docker+Home Assistant安装避坑指南
  • 宁波做停车棚厂家排行榜:宁波信创遮阳设备有限公司与行业实力厂商盘点 - 品牌评测官
  • 徐州搬家服务技术标准解析 附正规服务商联系方式 - 奔跑123
  • whk-20260521
  • 终极暗黑2存档编辑器:5分钟可视化修改你的游戏角色
  • 5分钟搞定Python金融数据获取的终极指南
  • 用Arduino与Plinko机制改造经典弹珠机:一个完整的STEAM创客项目实践
  • 2026年中山市应急灯厂家怎么选?国标认证/智能联动/全场景覆盖选购指南 - 资讯速览
  • 2026 国内数字孪生企业实力纵览:覆盖工程工业与智慧城市的优质合作方 - 深度智识库
  • 2026 年石家庄闲置翡翠出手实测,多家商户对比选择更安心 - 薛定谔的梨花猫
  • 2026东莞中堂旧房翻新优选品牌盘点 本土实力企业赋能人居焕新 - 资讯速览
  • 告别环境配置焦虑:用Anaconda在Win10上管理多个CUDA/cuDNN版本(以11.8和8.6.0为例)
  • 2026年东莞塘厦优质装修企业盘点:本土实力品牌赋能品质人居升级 - 资讯速览
  • 2026年昆明财税服务行业观察:昆明代理记账公司多维信息梳理 - 兔兔不是荼荼
  • XGLM-564M代码实现解析:深入理解PyTorch与Flax双框架支持
  • 2026年5月万国官方售后服务|全国官方网点地址、官方服务电话汇总 - 资讯速览