目录
1.3、安装cuda和pytorch(后续只用CPU进行训练的话可以跳过)
2.3、验证训练好的模型(这步一般是写论文出数据用的,没需求可以不用验证)
3.4、用C#从零编写Yolov5目标检测的窗体demo程序
3.4.2、C#部署Yolov5进行自己所需的目标识别的配置以及demo程序
教程开始之前,请确保安装好Anacaonda和Pycharm。直接在官网下载安装就好,由于下载安装的过程比较简单,本教程不详细阐述。
1、环境配置
1.1、Yolov5源码下载
Yolov5源码官网下载地址:GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite
点击链接后,进入以下界面,可点击“Code”→“ Download ZIP”下载Yolov5源码。
解压后进入解压后的文件路径,如下图所示,即Yolov5的工程文件中。输入“cmd”,进入下图所示的命令行界面。
1.2、Yolov5源码所需的环境和依赖包安装
(在此之前,确保电脑下载安装好Anaconda)
下载Python解释器,创建Python的虚拟环境:在命令行界面中输入“conda create -n py385_yolov5 python==3.8.5”并按ENTER键执行,如下图所示。
如下图所示,创建虚拟环境的过程中卡在“Proceed ([y]/n)?”,直接按下ENTER键就行。
安装完成后,激活安装好的虚拟环境:如下图所示,输入“conda activate py385_yolov5”并按ENTER键执行,出现“(py385_yolov5)”表示激活成功,当前正处于py385_yolov5的虚拟环境下。
下一步是在这个Python的虚拟环境中安装Yolov5需要的各种依赖包,在下载各种包之前,为了防止下载速度慢甚至直接卡住,可以先切换一下中科大提供的国内镜像源:直接复制以下内容粘贴到命令行,则会自动执行切换源的指令。
conda config --remove-key channels
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes
pip config set global.index-url https://mirrors.ustc.edu.cn/pypi/web/simple
切换了镜像源之后就可以在这个Python的虚拟环境中安装Yolov5需要的各种依赖包,Yolov5需要的所有包的名字及版本都在解压后Yolov5工程文件中的“requirements.txt”文件里,所以可以直接在命令行输入“pip install -r requirements.txt”并按ENTER键进行安装,如下图所示。
1.3、安装cuda和pytorch(后续只用CPU进行训练的话可以跳过)
如果要用GPU进行训练的话,还需要正确安装cuda和pytorch。
在安装之前,先查看是不是已经安装好了torch,因为“requirements.txt”文件中包含了torch,上一步安装依赖包的时候已经装了一个版本。具体操作为在命令行中输入“pip show torch”,如果有torch的版本等相关信息输出,说明已经装了一个版本,我们可以用“pip uninstall torch”命令把它卸载了(因为这个torch大概率不是我们需要的GPU版本的torch,需要自己重装过),卸载完成后再用“pip show torch”命令就可以查看有没有卸载成功,没有torch的信息输出就说明卸载成功了。
在安装cuda和pytorch之前,一定要先全部确认完要安装的版本。
先确定要安装的cuda的版本:用“nvidia-smi”命令查看电脑的GPU支持的cuda的版本,如下图所示,这里是“12.3”,意思是支持版本等于或低于12.3版本的cuda,建议安装的时候选择小于12.3版本的cuda,例如“12.1”。
确定了cuda版本后先不要安装,要先确认要安装的pytorch版本,因为pytorch不一定支持所有版本的cuda。
确定要安装的pytorch版本,可进入官网Previous PyTorch Versions | PyTorch,选择一个版本的torch版本,如下图所示,这里选择2.2.0版本的torch,注意一定要选择有“# CUDA xx.x”(根据电脑GPU支持的cuda版本选择)的命令安装torch,例如这里的“conda install pytorch==2.2.0 torchvision==0.17.0 torchaudio==2.2.0 pytorch-cuda=12.1 -c pytorch -c nvidia”或“pip install torch==2.2.0 torchvision==0.17.0 torchaudio==2.2.0 --index-url https://download.pytorch.org/whl/cu121”,这两个命令选一个粘贴在命令行中运行就可以下载torch了,这样就会安装支持cuda12.1的torch了。下载安装torch的时候可能会因为国外源的原因下载很慢或者下载失败,亲测用“conda install pytorch==2.2.0 torchvision==0.17.0 torchaudio==2.2.0 pytorch-cuda=12.1 -c pytorch -c nvidia”命令下载安装torch会好一点。下载好之后也可以用“pip show torch”检查是否安装成功。
之后就是安装cuda了,这里已经确定了安装“12.1”版本的cuda,所以我们去官网CUDA Toolkit Archive | NVIDIA Developer选择这个版本的cuda安装就好,例如这里选择如下图所示的版本的cuda(12.1.x都可以)。
如下图所示,根据自己的电脑配置选择参数下载就可以。
下载完成后,安装就可以,安装时注意“安装选项”选择“自定义”,然后将“驱动程序组件”全部勾选。默认安装路径是“C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1”,记住这个CUDA的安装目录。
这样安装好CUDA后,还没有全部完成,还需要去cuDNN官网cuDNN Archive | NVIDIA Developer下载cuDNN,选择支持CUDA的版本,刚刚下载的CUDA是哪个版本就选择对应的版本,CUDA 12.x则代表支持CUDA12代版本的所有版本,这里选择如下图所示的版本。
下载完cuDNN后会得到一个压缩包,解压后如下图所示将cuDNN文件夹里面的三个文件复制到CUDA的安装目录下直