yolov5从GPU安装到训练自己的模型详细教程

                      yolov5从GPU安装到训练自己的模型详细教程 

环境搭建
一. Gpu安装

1 、linux系统

查看自己电脑显卡型号:
linux系统终端指令:lspci | grep –i nvidia ,会返回gpu型号,如果没有返回你的电脑可能没有gpu显卡或显卡未正确安装。
在这里插入图片描述

禁用nouveau
使用如下命令查看系统是否正在使用nouveau:
在这里插入图片描述

如下图,如果有任何输出,那么就是nouveau在启用,需要按照以下步骤关闭,否则跳过禁用nouveau部分即可。
yolov5从GPU安装到训练自己的模型详细教程_第1张图片

创建配置文件
sudo vi /etc/modprobe.d/blacklist-nouveau.conf
加入以下内容,保存退出
blacklist nouveau
options nouveau modeset=0
执行如下命令,更新镜像
sudo update-initramfs -u
等待更新完后,用reboot命令重启系统,再次使用lsmod | grep nouveau核实无任何输出。
cuda的安装

在NVIDIA官网找到CUDA各版本下载页面,链接https://developer.nvidia.com/cuda-toolkit-archive,如下图:
yolov5从GPU安装到训练自己的模型详细教程_第2张图片yolov5从GPU安装到训练自己的模型详细教程_第3张图片

选择CUDA Toolkit 10.2,在新窗口选择操作系统版本和CPU架构等信息,安装类型选择runfile[local],可以离线安装。(官网更推荐deb包的安装方式,但是我没成功,有兴趣可以到官网学习,资料非常详细)

终端执行:
Wget https://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.runsudo
sh cuda_10.2.89_440.33.01_linux.run
进行下载安装cuda。
在这里插入图片描述

等待安装程序加载,过会儿会询问是否接受协议,输入accept回车确认yolov5从GPU安装到训练自己的模型详细教程_第4张图片

然后会询问安装的组件,全选即可,选择好之后把光标移动到Install上面,按下回车键,等待安装。yolov5从GPU安装到训练自己的模型详细教程_第5张图片

安装完成后,修改环境变量,执行sudo vi ~/.bashrc打开配置文件,在最后加入以下内容并保存退出。
export PATH=/usr/local/cuda-10.2/bin:/usr/local/cuda-10.2/nsight-compute-2019.5.0: P A T H e x p o r t L D L I B R A R Y P A T H = / u s r / l o c a l / c u d a − 10.2 / l i b 64 : PATH export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64: PATHexportLDLIBRARYPATH=/usr/local/cuda10.2/lib64:LD_LIBRARY_PATH

至此,已安装完CUDA,CPU驱动程序也已在安装CUDA的过程中顺带安装。
使用nvidia-smi验证GPU驱动可用,可以读取到显卡信息
yolov5从GPU安装到训练自己的模型详细教程_第6张图片

使用nvcc -V核实CUDA可用,可以看到CUDA版本为10.2

yolov5从GPU安装到训练自己的模型详细教程_第7张图片

安装cuDNN
到NVIDIA官网的cudnn下载页面,链接https://developer.nvidia.com/rdp/cudnn-archive,下载与cuda版本对应的cudnn 版本,我这里下载cuDNN v7.6.5 for CUDA 10.2。
yolov5从GPU安装到训练自己的模型详细教程_第8张图片

yolov5从GPU安装到训练自己的模型详细教程_第9张图片

下载时注意选择Ubuntu18.04版本,只下载Runtime Library和Developer Library即可,终端执行dpkg –i 加文件名安装。
到此,GPU 环境搭建完成。

安装Anaconda
登录清华大学anaconda镜像站找到Anaconda3-5.1.0-Linux-x86_64.sh,点击下载,下载完成后,进入保存文件的文件夹,赋予执行权限并安装。
sudo chmod +x Anaconda3-5.1.0-Linux-x86_64.sh
sudo ./Anaconda3-5.1.0-Linux-x86_64.sh
安装过程中首先会要求阅读许可协议,按回车阅读即可
yolov5从GPU安装到训练自己的模型详细教程_第10张图片

按q退出阅读,会被询问是否接受协议,输入yes即可
yolov5从GPU安装到训练自己的模型详细教程_第11张图片

接下来会被询问安装路径,按回车使用默认路径。
yolov5从GPU安装到训练自己的模型详细教程_第12张图片

等待安装完成会被询问是否添加anaconda到环境变量中,填yes。
在这里插入图片描述

如果没有看到询问是否添加anaconda到环境变量,则需要手动添加。
在终端输入:sudo gedit ~/.bashrc
末尾输入export PATH="/home/xy/anaconda3/install/bin:$PATH"(加粗部分替换成自己安装anaconda3的路径),点击保存,退出。
终端输入 source ~/.bashrc
然后,终端输入conda有返回信息说明安装成功yolov5从GPU安装到训练自己的模型详细教程_第13张图片

使用anconda 配置所需要环境
linux系统自带python 2.7版本,如果直接正在终端执行pip install 时会安装与python 2.7相对应的包。所以,在配置环境时最好的选择是,建立一个虚拟环境(可以理解为一个完全独立的房间,里边的装饰品,你可以随意的搭配)。可以创建多个不同名的虚拟环境,也就是说可以安装多个不同版本的python。
终端执行:conda create –n yolov5(虚拟环境的名称,自己根据情命名) python==3.7.5(自己指定python版本,不指定默认安最新版本)。
在这里插入图片描述
yolov5从GPU安装到训练自己的模型详细教程_第14张图片

输入 y 回车:
yolov5从GPU安装到训练自己的模型详细教程_第15张图片

出现上图内容说明虚拟环境创建成功,终端 输入 conda activate py375 进入虚拟环境中:如下图所示,活命你已经成功进入虚拟环境内部,你在这个环境里使用pip install或conda install 安装的依赖包,都在这个环境(房间)内部。

yolov5从GPU安装到训练自己的模型详细教程_第16张图片

pip是Python官方的包管理工具:
• 它从PyPI(Python Package Index)上拉取数据,或者说它的Repo在PyPI上。绝大多数的Python包会优先发布到PyPI上。目前(2020年5月),PyPI上的项目有23万之多。
• 支持源码和二进制文件,二进制文件以Wheel文件形式存在。
• 只支持Python,不关注其他一些非常重要但是更加底层的软件包,比如针对Intel CPU加速的数学库Intel MKL。
• pip安装包时,尽管也对当前包的依赖做检查,但是并不保证当前环境的所有包的所有依赖都同时满足。这可能导致一个环境的依赖冲突,当某个环境所安装的包越来越多,很早之前安装的包可能和当前包相互冲突。
conda是另外一个被广泛应用的工具,它:
• 它从http://Anaconda.org上拉取数据。Anaconda上有一些主流Python包,但在数量级上明显少于PyPI,缺少一些小众的包。
• 它只支持二进制文件,二进制文件是提前编译好的。
• 不仅支持Python,还支持R、C/C++等其他语言的包。
• 提供了环境隔离,可以使用conda命令创建多个环境,每个环境里安装Python、R等环境,某个特定的环境内包含了独立的Python解释器,不同环境之间互不影响。相比而言,pip只提供安装功能,多环境之间的隔离需要依赖另外的工具(如virtualenv)来完成。从这个角度来讲,conda可以管理Python解释器,而pip必须依附于Python解释器。
• conda在安装包时,对所安装包的依赖检查更严格,它会保证当前环境里的所有包的所有依赖都满足。
个人更喜欢使用conda install 来安装依赖包,conda 找不到依赖包时在使用pip 安装,pip 还可以直接读取txt文件进行依赖包的安装,例如:
pip install –r requires.txt
就可以安装txt文件内的依赖包的内容了。

以yolov5为例:
• 创建虚拟环境:conda create –n py375 python==3.7.5
• 激活虚拟环境:conda actriavet py375
• 进入源码目录:cd yolov5
• 终端执行:pip install –r requirement.txt,进行依赖包的安装,过程比较缓慢,如果失败,重新执行指令多试几次即可,不建议更改为国内源,现阶段国内源并不稳定,有时还是无法访问的状态,只要宽带稳定,一般都会成功。依赖包的安装是一件很耗费时间精力的事情。
在这里插入图片描述

出现 successfully installed 时,说明依赖包安装成功。
• 修改配置文件

进入data文件夹: cd data
复制voc.yaml 并重命名为demo.yaml(名字自己命名):cp voc.yaml demo.yaml
修改内部数据:vim demo.yaml
yolov5从GPU安装到训练自己的模型详细教程_第17张图片

使用红字标记出需要更改的地方。

进入models文件夹

复制yolov5s.yaml并重命名为car.yaml :cp yolov5.yaml car.yaml
修改内部参数:vim car.yaml
yolov5从GPU安装到训练自己的模型详细教程_第18张图片

配置文件修改完成。下边就可以训练了。

• 训练模型
终端指令: python train.py –weights weights/yolov5s.pt –-batch-size 16 –-epoch 100 –-data data/demo.yaml --cfg models/car.yaml

注:batch-size 数值大小根据显卡来设定,一般情况下数值越大精度越好,训练越快,对GPU显存的利用率高越高,出现报错时,请减小数值。Epoch数值视情况而定,一般情况下,设为100效果就很好了,如果效果不好,加大数值重新训练,如果效果没什么变化请更换数据集,数据集过小,或标注出现错误。训练结束会产生一个best.pt与last.pt两个权重,一般选取best.pt。

• 模型推理
终端指令: python detect.py --weights runs/train/exp/best.pt
–source (所选要检测的数据)
yolov5从GPU安装到训练自己的模型详细教程_第19张图片

• 至此结束。

你可能感兴趣的:(深度学习,python,深度学习)