Quantization Aware Training
Quantization Aware Training Implementation of YOLOv8 without DFL using PyTorch
Installation
conda create -n YOLO python=3.8
conda activate YOLO
conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.7 -c pytorch -c nvidia
pip install opencv-python==4.5.5.64
pip install PyYAML
pip install tqdm
Train
- Configure your dataset path in
main.pyfor training - Run
bash main.sh $ --trainfor training,$is number of GPUs
Test
- Configure your dataset path in
main.pyfor testing - Run
python main.py --testfor testing
Results
| Version | Epochs | Box mAP | CPU Latency | Download | |:-------:|:------:|--------:|------------:|---------------------------:| | v8n | 20 | 33.4 | 13 ms | model | | v8_n* | 500 | 37.3 | 24 ms | - | | v8_s* | 500 | 44.9 | - | | v8_m* | 500 | 50.2 | - | | v8_l* | 500 | 52.9 | - | | v8_x* | 500 | 53.9 | - |
means that it is float precision, see reference
Dataset structure
โโโ COCO โโโ images โโโ train2017 โโโ 1111.jpg โโโ 2222.jpg โโโ val2017 โโโ 1111.jpg โโโ 2222.jpg โโโ labels โโโ train2017 โโโ 1111.txt โโโ 2222.txt โโโ val2017 โโโ 1111.txt โโโ 2222.txt
Reference
- https://github.com/ultralytics/yolov5
- https://github.com/ultralytics/ultralytics