YOLOv5๐ reproduction by Guo Quanhao using PaddlePaddle
- ๆฏๆAutoBatch
- ๆฏๆAutoAnchor
- ๆฏๆGPU Memory
ไฝฟ็จAIStudio้ซๆง่ฝ็ฏๅขๅฟซ้ๆๅปบYOLOv5่ฎญ็ป(PaddlePaddle2.2.0-gpu version)
้่ฆๅฎ่ฃ ้ขๅคๆจกๅ
pip install gputil==1.4.0
pip install pycocotools
ๆฐๆฎ้ๅทฒๆ่ฝฝ่ณaistudio้กน็ฎไธญ๏ผๅฆๆ้่ฆๆฌๅฐ่ฎญ็ปๅฏไปฅไป่ฟ้ไธ่ฝฝๆฐๆฎ้๏ผๅๆ ็ญพๆไปถ
Data
|-- coco
| |-- annotions
| |-- images
| |-- train2017
| |-- val2017
| |-- test2017
| |-- labels
| |-- train2017
| |-- val2017
| |-- train2017.cache(ๅๅง่งฃๅๅฏๅ ้ค๏ผ่ฎญ็ปๆถไผ่ชๅจ็ๆ)
| |-- val2017.cache(ๅๅง่งฃๅๅฏๅ ้ค๏ผ่ฎญ็ปๆถไผ่ชๅจ็ๆ)
| |-- test-dev2017.txt
| |-- val2017.txt
| |-- train2017.txt
` `-- validation
ไฟฎๆนdata/coco.yaml
้
็ฝฎ่ชๅทฑ็coco่ทฏๅพ๏ผไฝ ๅฏ่ฝ้่ฆไฟฎๆนpath
ๅ้
path: /home/aistudio/Data/coco # dataset root dir
-
่่ๅฐAIStudioๅฏนไบgithub็่ฎฟ้ฎ้ๅบฆ๏ผ้ขๅ ๆไพไบ
Arial.ttf
-
AIStudioๅ็ซฏไธๆฏๆ็ปๅพ๏ผ้จๅๅฏ่งไนๅจAIStudioไปๅบ่ขซๆณจ้
training scratch for coco
mkdir /home/aistudio/.config/QuanhaoGuo/
cp /home/aistudio/Arial.ttf /home/aistudio/.config/QuanhaoGuo/
cd YOLOv5-Paddle
python train.py --img 896 --batch 8 --epochs 300 --data ./data/coco.yaml --cfg yolov5s.yaml --weights ''
python val.py --img 640 --data ./data/coco.yaml --weights ./weights/yolov5s.pdparams --cfg yolov5s.yaml
้่ฟ--task [val/test]
ๆงๅถ้ช่ฏ้ๅๆต่ฏ้
ๆๆๆไพ็ๆจกๅ้ช่ฏ็ฒพๅบฆๅฆไธ๏ผๆฌไปๅบ็ๆๆ่ตๆบๆไปถๅ ๆฌ้ข่ฎญ็ปๆจกๅๅๅฏๅจ็พๅบฆไบ็ไธ่ฝฝcode:dng9
Model | size (pixels) |
mAPval 0.5:0.95 |
mAPval 0.5 |
params (M) |
FLOPs @640 (B) |
mAPtest 0.5:0.95 |
mAPtest 0.5 |
---|---|---|---|---|---|---|---|
YOLOv5n | 640 | 28.4 | 46.5 | 1.9 | 4.5 | 28.1 | 46.2 |
YOLOv5s | 640 | 37.2 | 56.4 | 7.2 | 16.5 | 37.1 | 56.1 |
YOLOv5m | 640 | 45.1 | 64.2 | 21.2 | 49.0 | 45.4 | 64.3 |
YOLOv5l | 640 | 48.6 | 67.4 | 46.5 | 109.1 | 48.9 | 67.5 |
YOLOv5x | 640 | 50.6 | 69.1 | 86.7 | 205.7 | 50.7 | 69.0 |
YOLOv5n6 | 1280 | 34.0 | 51.1 | 3.2 | 4.6 | 34.3 | 51.7 |
YOLOv5s6 | 1280 | 44.5 | 63.4 | 16.8 | 12.6 | 44.3 | 63.0 |
YOLOv5m6 | 1280 | 50.9 | 69.4 | 35.7 | 50.0 | 51.1 | 69.5 |
YOLOv5l6 | 1280 | 53.5 | 71.8 | 76.8 | 111.4 | 53.7 | 71.8 |
YOLOv5x6 + [TTA][TTA] |
1280 1536 |
54.6 55.2 |
72.6 73.0 |
140.7 - |
209.8 - |
55.0 55.8 |
73.0 73.5 |
ไฝฟ็จๆฌๅฐ็ฏๅขๅฟซ้ๆๅปบYOLOv5่ฎญ็ป(PaddlePaddle2.2.0-gpu version)
git clone https://github.com/GuoQuanhao/YOLOv5-Paddle
็ถๅๆ็ งไฝฟ็จAIStudio้ซๆง่ฝ็ฏๅขๅฟซ้ๆๅปบYOLOv5่ฎญ็ปๆง่ก
่ฟ้ไปฅไธไธช็ฑปๅซ็ๅ ๆ ๆฐๆฎ้ไธบไพ๏ผๆฐๆฎ้ๅทฒไธไผ ่ณAIStudio
ๅ ถ็ป็ป็ปๆๅฆไธ๏ผ
Data
|-- guangshan
| |-- images
| |-- train
| |-- val
| |-- labels
| |-- train
| |-- val
ๅฆๅคไฝ ้่ฆๆๅปบdata/guangshan.yaml
๏ผ็ธๅ
ณๆไปถๅทฒๆพๅ
ฅ็ธๅ
ณ็ฎๅฝ๏ผไธป่ฆ็จไบๆๅฎๆฐๆฎ้่ฏปๅ่ทฏๅพๅๆจกๅ้
็ฝฎใ
# YOLOv5 reproduction ๐ by GuoQuanhao
train: /home/aistudio/guangshan/images/train # 118287 images
val: /home/aistudio/guangshan/images/val # 5000 images
# number of classes
nc: 1
# class names
names: ['spectrum']
python train.py --img 640 --batch 16 --epochs 100 --data ./data/guangshan.yaml --cfg yolov5s.yaml --weights ./weights/yolov5s.pdparams
Starting training for 100 epochs...
Epoch gpu_mem box obj cls labels img_size
0/99 4.19G 0.1039 0.04733 0 29 640: 100%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ| 9/9 [01:43<00:00, 11.50s/it]
Class Images Labels P R [email protected] [email protected]:.95: 100%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ| 1/1 [00:06<00:00, 6.64s/it]
all 16 29 0.266 0.379 0.226 0.0468
Epoch gpu_mem box obj cls labels img_size
1/99 4.41G 0.08177 0.0289 0 37 640: 100%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ| 9/9 [01:40<00:00, 11.20s/it]
Class Images Labels P R [email protected] [email protected]:.95: 100%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ| 1/1 [00:05<00:00, 5.49s/it]
all 16 29 0.462 0.445 0.398 0.109
......
ๅฎๆด็่ฎญ็ปๆฅๅฟๅญๅจdata/training.txt
ๅฉ็จVisualDLๅฏ่งๅ่ฎญ็ป่ฟ็จ
visualdl --logdir ./runs/train/exp
python val.py --img 640 --data ./data/guangshan.yaml --cfg yolov5s.yaml --weights ./runs/train/exp/weights/best.pdparams
python detect.py --weights ./runs/train/exp/weights/best.pdparams --cfg yolov5s.yaml --data ./data/guangshan.yaml --source ./data/images/guangshan.jpg
- Multi-GPU Training โ๏ธ
- PaddleLite inference ๐
- Model to ONNX โญ
ๅงๅ | ้ญๆๆตฉ |
---|---|
ๅญฆๆ ก | ็ตๅญ็งๆๅคงๅญฆ็ 2020็บง |
็ ็ฉถๆนๅ | ่ฎก็ฎๆบ่ง่ง |
ไธป้กต | Deep Hao็ไธป้กต |
github | Deep Hao็github |
ๅฆๆ้่ฏฏ๏ผ่ฏทๅๆถ็่จ็บ ๆญฃ๏ผ้ๅธธ่น่น๏ผ | |
ๅ็ปญไผๆๆดๅค่ฎบๆๅค็ฐ็ณปๅๆจๅบ๏ผๆฌข่ฟๅคงๅฎถๆ้ฎ้ข็่จไบคๆตๅญฆไน ๏ผๅ ฑๅ่ฟๆญฅๆ้ฟ๏ผ |