一、确保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 时,意味着:
如果torch.cuda.is_available()
返回 False,则可能的原因包括:
没有安装 CUDA 或安装的 CUDA 版本不正确。
NVIDIA 显卡驱动程序未正确安装或版本过旧。
安装的是 CPU 版本的 PyTorch,而非 GPU 版本。
硬件中没有支持 CUDA 的 NVIDIA GPU。
在运行代码的环境中,
尽管系统中有合适的硬件和软件配置,
但由于环境变量设置或其他原因,
PyTorch 无法访问 GPU。
参考链接:PyTorch碎片:PyToch和Torchvision对应版本
pytorch | torchvision | python | cuda |
---|---|---|---|
2.0.0 | >0.14 | >3.7 | 11.7, 11.8 |
1.12.0 | 0.12 | 3.7-3.9 | 10.2(不支持windows), 11.3, 11.6 |
1.11.0 | 0.12.0 | >=3.6 | 11.3 ,10.2 |
1.10.0/1 | 0.11.0/2 | >=3.6 | 10.2, 11.3 |
1.9.0 | 0.10.0 | >=3.6 | 10.2, 11.3 |
1.8.0 | 0.9.0 | >=3.6 | 10.2, 11.1 |
1.7.1 | 0.8.2 | >=3.6 | 9.2, 10.1, 10.2, 11.0 |
1.7.0 | 0.8.0 | >=3.6 | 9.2, 10.1, 10.2, 11.0 |
1.6.0 | 0.7.0 | >=3.6 | 9.2, 10.1, 10.2 |
1.5.1 | 0.6.1 | >=3.6 | 9.2, 10.1, 10.2 |
1.5.0 | 0.6.0 | >=3.6 | 9.2, 10.1, 10.2 |
1.4.0 | 0.5.0 | ==2.7, >=3.5, <=3.8 | 9.2, 10.0 |
1.3.1 | 0.4.2 | ==2.7, >=3.5, <=3.7 | 9.2, 10.0 |
1.3.0 | 0.4.1 | ==2.7, >=3.5, <=3.7 | 9.2, 10.0 |
1.2.0 | 0.4.0 | ==2.7, >=3.5, <=3.7 | 9.2, 10.0 |
1.1.0 | 0.3.0 | ==2.7, >=3.5, <=3.7 | 9.0, 10.0 |
<1.0.1 | 0.2.2 | ==2.7, >=3.5, <=3.7 | 9.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进程