一、下载源码:
官方v6.2源码:Releases · ultralytics/yolov5 · GitHub
二、配置环境:
cuda 10.2 适用于 pytorch:
pip install torch==1.9.0 torchvision==0.10.0 torchaudio==0.9.0
根据官方的requirements,为了避免出错,先注释掉torch和torchvision,再对其他的包进行
pip install -r requirements.txt
试验能不能import torch
三、制作数据集
在v5项目里:
datasets
│ └── coco_self
│ ├── images
│ │ ├── train
│ │ │ ├── 008d74e8-faaf-4fb5-bf18-96441c600c96.jpg
│ │ │ ├── 00d30c7d-c0e4-4759-857c-22f6a4e9ed4c.jpg
│ │ │ ├── 01c97297-2efa-4514-9b15-f8e8d39c172d.jpg│
│ │ └──val
│ │ ├── 07fbe0dd-ffd5-4ddc-a6bd-eb7469316da5.jpg
│ │ ├── 115cef22-e125-4ae1-be70-7d23f8fb6c76.jpg
│ │ ├── 141b5b7e-0523-41c3-ba2b-b80cd949f788.jpg
│ ├── labels
│ │ ├── train
│ │ │ ├── 008d74e8-faaf-4fb5-bf18-96441c600c96.txt
│ │ │ ├── 00d30c7d-c0e4-4759-857c-22f6a4e9ed4c.txt
│ │ │ ├── 01c97297-2efa-4514-9b15-f8e8d39c172d.txt
│ │ └── val
│ │ ├── 07fbe0dd-ffd5-4ddc-a6bd-eb7469316da5.txt
│ │ ├── 115cef22-e125-4ae1-be70-7d23f8fb6c76.txt
│ │ ├── 141b5b7e-0523-41c3-ba2b-b80cd949f788.txt
│ ├── train.txt
│ └── val.txt
示例:
008d74e8-faaf-4fb5-bf18-96441c600c96.txt:yolo格式
train.txt:图片路径
(find `pwd`/train -name \*.jpg > train.list)
四、修改数据配置:复制coco128.yaml,可把最后一行没用的download删除掉。
建立自己的数据配置(test可以暂时不放)
五、修改模型配置
下载模型:yolov5s.pt
GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite
六、终端运行:
python train.py --data data/coco_self.yaml --cfg models/yolov5s.yaml --weights yolov5s.pt --epochs 5 --batch-size 2
参考:
训练结束后,结果自动保存:
七、预测:
的路径python detect.py --weights runs/train/exp9/weights/best.pt --img 416 --conf 0.1 --source /home/fei/A/yolov5-6.2/datasets/coco_self/images/test
注:test是预测的图片目录
预测结果自动保存:
参考资料:
1 官网指路文档 :主要参考了数据格式放置
Train Custom Data 📌 - YOLOv5 Documentation
2 Train Custom Data · ultralytics/yolov5 Wiki · GitHub
训练过程展示:可忽略一些交互性的代码
https://colab.research.google.com/github/roboflow-ai/yolov5-custom-training-tutorial/blob/main/yolov5-custom-training.ipynb#scrollTo=TWjjiBcic3Vz