PyTorch GPU利用率为0%(很低)

发布时间:2024年01月12日

一、确保Pytorch与TorchVision是CUDA(GPU)版本
参考链接:【Xiang哥避坑指南】YOLOV5只在CPU跑不在GPU跑的问题。
在Python终端下操作:
1、Pytorch

import torch
print(torch.__version__) 
#上方的_是两个 杠杠

2、TorchVision

import torchvision
print(torchvision.__version__) 
#上方的_是两个 杠杠

输出的结果是+cu就是CUDA(GPU)
输出的结果是+cpu就是CPU

二、确保Pytorch与TorchVision以及CUDA ToolKit的版本一致
在Python终端下操作

import torch
print(torch.cuda.is_available())

torch.cuda.is_available() 是来自 PyTorch 深度学习库的一个函数,
它用于检查当前环境是否支持 CUDA(NVIDIA 的并行计算平台和应用程序编程接口 API),
以及 CUDA 驱动程序和兼容的 GPU 是否已正确安装且可以被 PyTorch 使用。

torch.cuda.is_available() 返回 True 时,意味着:

  1. 系统中装有 NVIDIA 显卡,并且显卡型号支持 CUDA。
  2. 已经安装了与该显卡兼容的 CUDA Toolkit。
  3. 安装的 PyTorch 版本与 CUDA 版本相匹配。
  4. PyTorch 能够成功找到并初始化 CUDA 设备以进行 GPU 加速计算。

如果torch.cuda.is_available() 返回 False,则可能的原因包括:

  1. 没有安装 CUDA 或安装的 CUDA 版本不正确。

  2. NVIDIA 显卡驱动程序未正确安装或版本过旧。

  3. 安装的是 CPU 版本的 PyTorch,而非 GPU 版本。

  4. 硬件中没有支持 CUDA 的 NVIDIA GPU。

在运行代码的环境中,
尽管系统中有合适的硬件和软件配置,
但由于环境变量设置或其他原因,
PyTorch 无法访问 GPU。

参考链接:PyTorch碎片:PyToch和Torchvision对应版本

pytorchtorchvisionpythoncuda
2.0.0>0.14>3.711.7, 11.8
1.12.00.123.7-3.910.2(不支持windows), 11.3, 11.6
1.11.00.12.0>=3.611.3 ,10.2
1.10.0/10.11.0/2>=3.610.2, 11.3
1.9.00.10.0>=3.610.2, 11.3
1.8.00.9.0>=3.610.2, 11.1
1.7.10.8.2>=3.69.2, 10.1, 10.2, 11.0
1.7.00.8.0>=3.69.2, 10.1, 10.2, 11.0
1.6.00.7.0>=3.69.2, 10.1, 10.2
1.5.10.6.1>=3.69.2, 10.1, 10.2
1.5.00.6.0>=3.69.2, 10.1, 10.2
1.4.00.5.0==2.7, >=3.5, <=3.89.2, 10.0
1.3.10.4.2==2.7, >=3.5, <=3.79.2, 10.0
1.3.00.4.1==2.7, >=3.5, <=3.79.2, 10.0
1.2.00.4.0==2.7, >=3.5, <=3.79.2, 10.0
1.1.00.3.0==2.7, >=3.5, <=3.79.0, 10.0
<1.0.10.2.2==2.7, >=3.5, <=3.79.0, 10.0

PyTorch与TorchVision如果版本不一致就去PyTorch官网下载
官网网址:https://download.pytorch.org/whl/torch_stable.html

下载完.whl文件后的安装方法:
1、先转移到自己的Conda虚拟环境:

conda activate your_virtual_env_name

2、安装Pytorch(假设Torch.whl在当前路径下)

pip install your_Torch.whl

3、安装TorchVision(假设TorchVision.whl在当前路径下)

pip install your_TorchVision.whl

CUDA ToolKit的驱动的下载官网CUDA Toolkit Archive

这个是下载的CUDA ToolKit的驱动的安装方法:
nvcc -V不是内部或外部命令,也不是可运行的程序

这个下载的CUDA Toolkit驱动只要 小于等于 你系统自带的NVCUDA驱动就可以了

这个是查看你系统自带的NVCUDA驱动版本的文章链接:
CUDA学习(一)——如何查看自己CUDA版本?

三、PyTorch GPU利用率为0%(很低)(在做完上面操作之后)
GPU利用率是反馈GPU上各种资源繁忙程度的指标。
GPU上的资源包括:

  • GPU core:CUDA core, Tensor Core ,integer, FP32 core,INT32 core等。

  • frame buffer:capacity, bandwidth。

  • 其他:PCIe RX / TX, NVLink RX / TX, encoder和decoder等。

GPU利用率指标可以反馈出GPU内核在过去的采样周期中一个或多个内核在 GPU 上执行的时间百分比

GPU的利用率指标为0%(很低)不代表模型在运行时没有使用GPU,而是应当通过查看CUDA的利用率指标。

有的windows任务管理器中看不到CUDA的利用率指标,可以通过关闭系统的硬件GPU加速计划来显示这一选项。
具体操作参考链接:任务管理器中N卡GPU看不到cuda进程

本文参考链接:
【Xiang哥避坑指南】YOLOV5只在CPU跑不在GPU跑的问题。
PyTorch碎片:PyToch和Torchvision对应版本
PyTorch下载官网
CUDA Toolkit 下载官网
nvcc -V不是内部或外部命令,也不是可运行的程序
CUDA学习(一)——如何查看自己CUDA版本?
任务管理器中N卡GPU看不到cuda进程

文章来源:https://blog.csdn.net/qq_45831414/article/details/135556280
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。