CUDA与CUDNN
使用的yolov5版本为yolov5-6.2
CUDA版本问题
电脑显卡的驱动版本决定了CUDA所能够安装的版本,而Pytorch又取决于CUDA的版本,总的来说,CUDA、CUDNN、Pytorch的版本要统一。pytorch、torchvision、torchaudio三者之间的版本也要统一,最好先观察项目中pytorch、torchvision、torchaudio所需要的版本,再反推回CUDA版本
如果自身的电脑不能够安装预期的CUDA,可以在GEFORCE EXPERIENCE中升级驱动。注意,GEFORCE EXPERIENCE版本过老会导致新下载的驱动安装不上,这时需要卸载老的GEFORCE EXPERIENCE,再在官网上下载新的
CUDA卸载问题
CUDA的安装教程参考网上其他博主的文章即可,注意如果安装了错误的CUDA,或后期希望升级CUDA,可以将将带NVIDIA并且具有版本号的软件都卸载掉(比如要卸载10.0,那就将下图的软件都卸载)
除了下面的这两个,其余均可以卸载,如果GEFORCE EXPERIENCE刚刚安装完可以不卸载
下一步是删除之前配置的环境变量,在系统变量中,注意这些
系统变量中的PATH中,注意这些
或者说,在初次安装CUDA时,添加了如下的环境变量
#系统
CUDA_SDK_PATH = C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.2
CUDA_LIB_PATH = %CUDA_PATH%\lib\x64
CUDA_BIN_PATH = %CUDA_PATH%\bin
CUDA_SDK_BIN_PATH = %CUDA_SDK_PATH%\bin\win64
CUDA_SDK_LIB_PATH = %CUDA_SDK_PATH%\common\lib\x64
#系统中的PATH
%CUDA_LIB_PATH%;%CUDA_BIN_PATH%;%CUDA_SDK_LIB_PATH%;%CUDA_SDK_BIN_PATH%;
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\lib\x64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\include
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\extras\CUPTI\lib64
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.2\bin\win64
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.2\common\lib\x64
把这些环境变量删除即可,同时把带旧版本号(如v9.2)的环境变量也同样删除即可
删除C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA
下的v9.2
文件夹(旧的 cudnn 在其中)
安装CUDA
因为在上述步骤中,将对应的选项取消,GEFORCE EXPERIENCE如果安装可能会出现问题
请确认其他要安装的组件,都满足“新版本”(待安装版本)比“旧版本”(已有版本)要高级的,否请请去掉勾选
在环境变量中,确认以下两项
然后重新添加环境变量,重新下载对应的CUDNN即可
Pytorch
最好的安装方式是从官网Previous PyTorch Versions | PyTorch上查指令
这里仅需要注意,指令安装的可能是cpu版本,因为由于CUDA版本老,只有cpu版的Pytorch而没有GPU版的,这时可以去download.pytorch.org/whl/cu92/torch_stable.html下载到本地,再在下载的目录下使用pip安装
pip问题
pip安装本地文件时也会联网(不知道为啥),如果一直连不上可能是由于开启了代理
如果目标文件在D盘Download下,则在cmd中依次输入
d: #切换到D盘,注意没有cd
cd Download\yolov5-6.2
pip install <文件名>
Pycharm环境
常见的conda命令有
conda info --env
conda env remove -n <name> #conda env remove -n yolov5
conda activate <name>
创建环境
在Anaconda Prompt中依次输入
conda create --name yolov_562 python=3.8
然后打开Pycharm
设置解释器
修改完后最好再查一遍,有时候可能没改成功
应该是这样(大概)
重启charm之后再查一遍
terminal修改
terminal报错可能是由于使用的是powershell而不是cmd,修改一下即可,同样的修改完后要检查是否完成了修改,同时start directory也可以修改一下,让他指向当前项目路径
不好使可以把terminal叉掉再新加一个
依赖搭建
依次输入下面的语句
conda install pytorch==1.8.1 torchvision==0.9.1 torchaudio==0.8.1 cudatoolkit=10.2 -c pytorch
python
import torch
print(torch.cuda.is_available()) # 如正常则返回 "True"
a = torch.Tensor([1.]) # 如正常则静默
a.cuda() # 如正常则返回"tensor([ 1.], device='cuda:0')"
from torch.backends import cudnn # 如正常则静默
cudnn.is_acceptable(a.cuda()) # 如正常则返回 "True"
exit()
# 安装其他需要的包
pip install -r requirements.txt
注意安装yolov5s.pt参数包
接下来执行python detect.py观察能否正常运行
如果报错
执行下列语句
pip install Pillow
pip uninstall Pillow
pip install Pillow
再次执行python detect.py
如果能够正常运行,执行python detect.py --source 0表示使用自带摄像头进行检测