多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
[TOC] > https://zhuanlan.zhihu.com/p/501798155 ## 概述 示例训练火的模型 ## 安装labelimg ``` pip install labelimg // 启动 labelimg ``` 选训练的图片,在选择 yolo ,训练好的数据保存到项目中 ![](https://img.kancloud.cn/25/0f/250f9e2a92b2ab7489c84db50aee8b4b_1440x762.png) 生成的格式如下 ``` datasets ├── images ├── train ├── xx.jpg ├── val ├── xx.jpg ├── labels ├── train ├── xx.txt ├── val ├── xx.txt ``` `datasets/fire/labels/train` 的文件内容如下 格式 ``` <object-class> <x> <y> <width> <height> ``` 内容 ``` 0 0.55882 0.77297 0.33824 0.24865 ```` ### 配置 `yolov5/data/fire.yaml` ``` # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..] path: datasets/fire # dataset root dir train: images/train # train images (relative to 'path') val: images/val # val images (relative to 'path') test: # test images (optional) # Classes nc: 1 # number of classes names: ['fire'] # class names ``` 说明 * path:数据集的根目录 * train:训练集与path的相对路径 * val:验证集与path的相对路径 * nc:类别数量,因为这个数据集只有一个类别(fire),nc即为1。 * names:类别名字。 ## 下载模型 下载地址: https://github.com/ultralytics/yolov5/releases 根据 以下选择合适自己的模型,并把下载好的模型放到项目根目录`/yolov5s-seg.pt` ![](https://img.kancloud.cn/0b/84/0b84069270b2848b8257bdf0d3251b9b_2400x1275.png) ## 开始训练 ``` # Single-GPU python segment/train.py --model yolov5s-seg.pt --data fire.yaml --workers 1 --batch-size 8 # Multi-GPU DDP python -m torch.distributed.run --nproc_per_node 4 --master_port 1 segment/train.py --model yolov5s-seg.pt --data fire.yaml --epochs 5 --img 640 --device 0,1,2,3 ``` 训练好的结果会保存在 `runs` 目录中,`runs/exp/weights` 为训练好的模型目录,`best.pt` 为训练最好的模型,`last.pt`为最后的训练的模型 把`best.pt` 放到项目目录下,进行测试,训练后,会在 `runs/detect/exp2`,得到标注的结果 ``` python detect.py --weights best.pt --source ../datasets/fire/images/val ```