用gpu进行模型训练但cpu利用率高该怎么办?

用gpu进行模型训练但cpu利用率高该怎么办?用gpu进行模型训练但cpu利用率高该怎么办?
如图所示,使用的cuda版本是11.6,pythorch版本是1.12,确认版本正确,并且在运行train.py时有提示cuda3080,gpu_mem等字样,但是查看任务管理器时却发现显卡利用率非常低(gpu1),而cpu利用率非常高,有时候能到95%,请问这种情况是否正常?
网络搜索的答案都在说确认版本,问题也和我这个不是一个东西,而且都在复制粘贴。。


回答:

几种可能:
题主的话...直接看第三条好了...
1.GPU没有配置成功

建议新建一个python文件试一下如下的代码,看输出
import torch

print(torch.cuda.is_available())

输出False 就是CUDA没有配置好
2.没有指定cuda

一般用cuda:0就能够成功,挨个试试看哪个有效
import torch

device = 'cuda:0' if torch.cuda.is_available() else 'cpu'

from torchvision.models import ResNet

ResNet(......).to(device)

只要第一步没有输出False,这一步应该没有问题...直接XXXX.to(device)就能到指定设备上跑

3.代码本身的问题

如果上面的都成功..就不是设备和配置的问题
可能代码中开了多线程/多进程进行数据处理...画图等等
这个时候cpu的占用率本身就会很高
想要降低的话就要改代码,把多线程/进程的地方少开几个
代价就是速度变慢了
跑深度模型cpu占用率高还蛮正常的
GPU利用率的话,不妨增大batch_size,把显存多吃一点...这样你就不会纠结显存占用率低的问题了\doge

以上是 用gpu进行模型训练但cpu利用率高该怎么办? 的全部内容, 来源链接: utcz.com/p/938644.html

回到顶部