此文章是根据官方给出的教程加以详细的步骤编写的。
有能力之后极力推荐去看官方仓库查看。
官方仓库:
https://github.com/ultralytics/yolov5/
使用流程:
搭建环境->简单测试->训练自己的数据->使用服务器训练->训练结果解读
安装过程百度一下。随便引用一篇教程
https://blog.csdn.net/qq_45344586/article/details/124028689
快捷键win+R 打开运行 输入cmd 回车!进入cmd终端。
输入以下命令
创建虚拟环境:
conda create -n yolo python=3.8
查看环境:
conda env list
激活并切换虚拟环境:
conda activate yolo
环境就是开发这个项目的一个工作环境,里面包含我们需要的各种库啊还有python啊等等。。。以后安装任何库的时候都要先切换到自己项目的环境下。环境意识很重要,很多小伙伴后需安装库的时候,发现自己明明装过了,可是现实还是找不到该模块。。就是因为没有激活并切换环境。
进入官网,获取安装命令。
pytroch官网 https://pytorch.org/get-started/locally/
根据下图选择安装,我做了简单翻译。
有英伟达Nvidia显卡的用cuda版本,没有得用cpu版本。
命令行中输入安装命令:
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
测试
import torch
print(torch.__version__)
print(torch.cuda.is_available())
显示 True
则安装成功
打开你要存放项目的文件夹,在window上放的路径中删除路径,输入cmd 回车!!打开cmd终端。
使用git工具,国内使用代理加速克隆速度。
git clone https://ghproxy.com/https://github.com/ultralytics/yolov5
克隆完用用pycharm打开该文件夹。。
或者把yolov5 master文件夹拖入pycharm
左上角File选择Settings设置。
左侧python interpreter解释器,
选择解释器,选择刚刚创建的python3.8名为yolo的解释器。
点击右下角OK!!!
打开终端,并检查当前环境是否为yolo
如果不是,输入以下命令激活
conda activate yolo
(注意:如果前面显示的不是yolo是PS 即:终端为windows 的powershell
请替换为cmd终端,因为powershell终端每次都是在base环境中。
替换方法,我百度了一篇博客,请参考这个!
https://blog.csdn.net/weixin_44217936/article/details/120611526)
在终端中输入以下命令,安装相关依赖,-r参数:从文件中批量安装包。requirement.txt可以看下里面都是指定的相关库和版本。
pip install -r requirements.txt
接下来我们开始测试我们的项目咯,运行一个检测目标的程序。。
终端输入
python detect.py --source data/images --view-img
等待一段时间即可。
会在左侧 runs/detect/exp 路径下生成预测的图片。
打开看看。
流程:数据处理,参数设定,开始训练。
首先需要有自己的数据集,数据集可以是从网上下载公开数据集,也可以去自己采集。深度学习,数据为王。在深度学习领域,数据往往比算法模型更为重要。
所以数据哪里来??
阿里天池
DataCastle
Kaggle
DataFountion
github公开数据集
微软数据集
谷歌数据集搜索
Visual Data
除非打比赛,大多数情况还是自己准备数据的。。
使用labelimg标注出目标。
因为labelimg界面是pyqt编写的,所以先安装pyqt5,在安装labelimg
终端中执行
pip install pyqt5
pip install labelimg
终端执行,打开labelimg,使用过程中终端不能关闭。
labelimg
数据集文件夹命名images
同级目录下新建一个labels空文件夹
左侧选择打开目录,选择你图片等路径。
选择改变存放目录,选择你要存放标签的路径。
标签保存格式点击,显示保存为YOLO格式
数据集划分
推荐yolov5官方研发的网站roboflow 。
是一个数据管理网站,可以帮你管理数据,打标注,自动数据增强。训练yolo模型,部署模型,使用模型进行自动标注等功能。
我用了还不错,对于跨服务器使用比较方便。
新建一个data.yaml文件,把下面内容粘贴进去,根据自己的数据做出相应的修改。 变量名和值之间要有空格!!!(很多同学这里出错)
train: data/train/images # 训练集路径
val: data/valid/images # 验证集路径
nc: 4 #类别数量 number of classes
names: ['1', '2', '3', '4'] # 类别的名字
找到models/yolov5s.yaml文件 将第四行
nc:80 修改为你的类别数量。保存! 其他的不要动。
安装wandb库,用来记录训练数据的,十分方便
pip install wandb
终端执行下面命令
python train.py --data data.yaml --cfg yolov5s.yaml --weights pretrained/yolov5s.pt --epoch 100 --batch-size 4 --device cpu
--data 数据配置文件路径
--weights 权重文件的路径
--cfg 模型配置文件的路径
--batch-size 批处理大小
--cache 将图片缓存进内存,加快读取速度
--epoch 迭代次数
--device 训练设备 0为gpu
在train/runs/exp
的目录下可以找到训练得到的模型和日志文件
租用服务器开始快速训练!
用了几个,autodl是最划算的还好用的服务器平台.
AutoDL
使用文档
https://www.autodl.com/docs/quick_start/