CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 根据GPU的 driver 版本下载对应的 CUDA,可以在 NVIDIA 控制面板-帮助-系统信息-组件中查看 driver 版本,我的版本是 11.4
支持 11.4 的 cuda,可以在 https://developer.nvidia.com/cuda-toolkit-archive中下载
注意,win10版本的CUDA与win11兼容,PyTorch 与 CUDA 之间有对应关系,高版本的 CUDA 对应高版本的 PyTorch,但高于 1.10 版本的 torch 在训练 YOLO5时会出现 P=0, R=0 的 bug,由于刚开始安装的是10.4版本的CUDA,后期又重装了一次😭
直接安装 10.2 版本的 CUDA:https://developer.nvidia.com/cuda-10.2-download-archive
下载后安装,可以在 设置-系统-系统信息-高级系统设置-环境变量里面看到新增加的两项
cuDNN 可以加快模型的训练速度,优化 GPU 性能,直接下载与 CUDA 对应版本的 cuDNN 即可:
下好后解压,把解压得到的三个文件夹放到 CUDA 的安装目录 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2
这样,CUDA 和 cuDNN 就安装好了 😆!
在 Github 上下载官方的 YOLO v5代码,如果无法访问可以用镜像源,click me
可以仔细看其中的 README.md 文件,里面有关于环境和运行方法的说明,比如Python版本和依赖库的安装方式:
Clone repo and install requirements.txt in a
Python>=3.7.0
environment, includingPyTorch>=1.7
.
git clone https://github.com/ultralytics/yolov5 # clone
cd yolov5
pip install -r requirements.txt # install
conda 可以用来创建虚拟环境,如果你需要运行不同模型,而这些模型对环境的配置需求不同,尤其是不同的模型可能需要的依赖库版本不同,重装环境很麻烦,这时候用 conda 切换环境如鱼得水!
安装 Miniconda,由于本地安装的是 Python3.7,所以当时下载了3.7版本的(这种情况下,使用 conda 默认进入的虚拟环境就是 Python3.7,根据需求可以下载其他版本的)
需要注意的是,安装的时候需要添加环境变量:
安装完后查看 环境变量,可以参考第三张图,安装好后在命令行输入conda,有输出且不报错即安装成功!
接下来使用 conda 命令制作虚拟环境,为了方便操作,我们首先进入解压好的 yolov5 目录下,接着使用下面的命令:
conda create -n yolov5 python=3.7 # 创建 Python3.7的 yolov5 虚拟环境
conda activate yolov5 # 激活 yolov5 环境
此时我们处于 yolov5 环境中,由于此时处于解压好的 yolov5 目录下,可以直接访问目录内文件,按照官网的 README 中按照依赖库的提示安装依赖库:
首先根据自己下载的 CUDA,安装合适版本的 pytorch(CUDA10.2 下载下面这个版本的 pytorch 没问题,其他版本的 CUDA 可以到官网下载 pytorch):
pip3 install torch==1.9.1+cu102 torchvision==0.10.1+cu102 torchaudio===0.9.1
接着,我们打开 yolov5 目录下的 requirements.txt 文件,把下面两个库注释掉(因为刚刚安装过了 👀):
#torch>=1.7.0
#torchvision>=0.8.1
接着使用下面的命令安装剩下的库:
pip install -r requirements.txt # install
至此,环境都配置好了,来运行一下吧!
在当前 yolov5 环境内,输入命令
python detect.py --source 0
这条命令使用训练好的模型好的模型检测摄像头捕捉到的物体,正常运行说明环境没问题了,反正我的是没问题啦 👻
到这一步,conda 的使用你应该学会了,创建好环境后,使用 activate
命令激活某个环境,切换到特定的目录下,就能运行有特定环境需求的代码。
conda 的更多常用命令如下 (输命令不要把注释带上):
conda create --name xxx --clone xxx # clone
conda remove --name <OldName> --all # remove
conda create -n yolov5 python=3.7 # 创建 Python3.7的 yolov5 虚拟环境
conda activate yolov5 # 激活 yolov5 环境
conda activate xxxx #开启xxxx环境
conda deactivate #关闭环境
conda env list #显示所有的虚拟环境
conda info --envs #显示所有的虚拟环境
REFERENCE
1 . conda 命令
2 . yolov5
3 . 解决YOLOV5出现全为nan和0的问题