# yolo训练自己的数据
## 1、制作数据集
①：标注工具：labelme

②：标注完后使用脚本将xml转为yolo格式（txt）

③：将转好格式的数据划分为训练集（train）和验证集（val），比例为7：3。

④：参考[coco128](https://ultralytics.com/assets/coco128.zip)数据的文件格式，将自己的数据文件夹层次改为和coco128的相似，和train2017同级及一个val文件夹，存放验证集数据，coco128中val

## 2、修改配置文件
①：复制coco128.yaml文件到ultralytics-main目录，并改名为mydata.yaml

②：修改 path 后面的路径为你自己放数据的路径。例：path: /home/tp/datasets/mydata

③：修改 train 和 val后面的路径，如果子的数据目录结构和coco128结构完全相同，那么你可以不需要改动。

    例：train: images/train2017
        val: images/val

④：将 name 后面的标签改为自己标注时的标签。或者这个0要与xml转txt时对应的标签名一致

    例：0: smoke
        1: rmb

## 3、训练
①：进入ultralytics-main目录

②：训练参数解释：
```angular2html
data=coco128.yaml、model=yolov8n.pt       将参数路径改为实际文件路径

epochs=100                                训练100批次

batch=16                                  batch_size大小为16

save_period=50                            隔固定周期保存模型，小于1，为禁用,默认禁用
```

③：执行以下命令
```bash
python yolo detect train data=mydata.yaml model=yolov8n.pt epochs=100 imgsz=640
```

