第一步:查看GPU驱动版本
在上篇博文中,安装GPU版本出现问题,可能是因为CUDA和 cuDNN没有预先安装,后来参考一篇博文,解决问题,现在把最开始遇到的问题和解决方法整理一篇,如下:
首先查看本机的CUDA版本
在NVIDIA控制面板中,从左下角的系统信息 进入,选择组件选项卡
查看显卡驱动
第二步:安装GPU版本pytorch
查看对应版本:
从官网安装非常慢,可以考虑换源,conda换源方式参考博主:
yolov5 win10 CPU与GPU环境搭建,亲测有效!_yolov5detectorcpu-CSDN博客
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
(1)通过Conda 安装
# CUDA 10.2
conda install pytorch==1.11.0 torchvision==0.12.0 torchaudio==0.11.0 cudatoolkit=10.2 -c pytorch
来自网上的解释:在使用 -c
标志时,可以在其后指定要使用的频道名称或 URL。
(2)通过Wheel 安装
# CUDA 10.2
pip install torch==1.11.0+cu102 torchvision==0.12.0+cu102 torchaudio==0.11.0 --extra-index-url https://download.pytorch.org/whl/cu102
以上采用conda还是pip方式安装,具体区别网上有介绍,我这里采用的 conda方式
conda install vs pip install_conda install 和 pip install 区别-CSDN博客
在 Anaconda Prompt 命令行进入python环境,import torch 输入以下命令查看:
torch.cuda.is_available()
结果显示:Flase
查询原因,为什么不能是GPU版本,参考博主:torch.cuda.is_available()为False 解决方案(花了一下午找问题)_cuda.avilabile false怎么办-CSDN博客
删除原来的yolov5环境,
conda remove --name yolov5 --all
然后重新安装,执行conda install指令,以旧不成功,
继续查找原因,最终参看博主:
应该是我的CUDA和cuDNN没有安装,所以根据这篇博主的方法顺序安装即可,他的介绍非常详细,下载注册要耐心点,网速比较慢
上面两个软件安装后,检索torch1.11.0的时候还是不能找到对应的GPU版本,后来在官网逐个测试,发现这个1.9.1可以找到GPU版本,所以遇到conda从渠道找不到对应GPU版本时,不要放弃,可以尝试降低torch版本,我当时11和10版本都不行,后来使用如下:
conda install pytorch==1.9.1 torchvision==0.10.1 torchaudio==0.9.1 cudatoolkit=10.2 -c pytorch
等待安装完成 ,
继续在 Anaconda Promp 环境下,激活yolov5
activate yolov5 ,切换到yolov5-main路径下
进入python环境,import torch 输入以下命令查看:
torch.cuda.is_available()
结果显示:True
解决问题
第三步:GPU下的detect.py验证
当运行命令
python detect.py --source="data/images/bus.jpg" --weights="weights/yolov5s.pt"
报错,提示如下:
重新安装一遍依赖,可能是我从CPU版本切换到GPU对依赖有变化,也可能是我执行过yolov5环境的remove操作导致
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
再次执行detect.py,成功: