yolov5部署及训练
1项目的克隆和必要的环境依赖
1.1项目的克隆
YOLOv5的代码是开源的,因此我们可以从github上克隆其源码。因为GitHub是国外的服务器,所以可能会出现开启速度过慢或者无法打开的情况。建议多次尝试,如果拥有魔法上网,请开启魔法上网。
网址:ultralytics/yolov5 at v7.0 (github.com)
这个网址yolov5版本为v7.0,可以在界面中选择其他版本。
选择好版本后,点击右上角的code按键,将代码下载下来。至此整个项目就已经准备好了。
1.2 项目代码结构整体介绍
将我们下载好的yolov5的代码解压,然后用一款IDE打开(pycharm),打开之后整个代码目录如下图:
现在来对代码的整体目录做一个介绍:
├── data:主要是存放一些超参数的配置文件(这些文件(yaml文件)是用来配置训练集和测试集还有验证集的路径的,其中还包括目标检测的种类数和种类的名称);还有一些官方提供测试的图片。如果是训练自己的数据集的话,那么就需要修改其中的yaml文件。但是自己的数据集不建议放在这个路径下面,而是建议把数据集放到yolov5项目的同级目录下面。
├── models:里面主要是一些网络构建的配置文件和函数,其中包含了该项目的四个不同的版本,分别为是s、m、l、x。从名字就可以看出,这几个版本的大小。他们的检测测度分别都是从快到慢,但是精确度分别是从低到高。这就是所谓的鱼和熊掌不可兼得。如果训练自己的数据集的话,就需要修改这里面相对应的yaml文件来训练自己模型。
├── utils:存放的是工具类的函数,里面有loss函数,metrics函数,plots函数等等。
├── weights:放置训练好的权重参数。
├── detect.py:利用训练好的权重参数进行目标检测,可以进行图像、视频和摄像头的检测。
├── train.py:训练自己的数据集的函数。
├── test.py:测试训练的结果的函数。
├──requirements.txt:这是一个文本文件,里面写着使用yolov5项目的环境依赖包的一些版本,可以利用该文本导入相应版本的包。
以上就是yolov5项目代码的整体介绍。我们训练和测试自己的数据集基本就是利用到如上的代码。
1.3 环境的安装和依赖的安装
在之前的一篇的Windows安装pytorch里已详细说明了如何安装深度学习依赖。
首先,打开克隆的yolov5文件夹可以看到有一个为requirements.txt的文件,打开文件可以看到里面有着很多的依赖库和对应的版本要求。(注意:如果使用不同版本的yolov5,需要再次进行安装依赖的步骤,不同的版本对应的依赖版本不同。)
在此,我们仅需在上一篇文章的基础上进入pytorch的虚拟环境中cd 进入克隆到本地的yolov5的文件夹,输入命令即可安装依赖。
pip install -r requirements.txt
建议下载依赖时使