Full implementation of YOLOv3 in PyTorch.
[Paper]
[Original Implementation]
Implement YOLOv3 and darknet53 without original darknet cfg parser.
It is easy to custom your backbone network. Such as resnet, densenet...
- pytorch >= 0.4.0
- python >= 3.6.0
git clone https://github.com/BobLiu20/YOLOv3_PyTorch.git
cd YOLOv3_PyTorch
pip3 install -r requirements.txt --user
cd data/
bash get_coco_dataset.sh
- See weights readme for detail.
- Download pretrained backbone wegiths from Google Drive or Baidu Drive
- Move downloaded file
darknet53_weights_pytorch.pth
towegihts
folder in this project.
- Review config file
training/params.py
- Replace
YOUR_WORKING_DIR
to your working directory. Use for save model and tmp file. - Adjust your lr, parallels and so on.
cd training
python training.py params.py
# please install tensorboard in first
python -m tensorboard.main --logdir=YOUR_WORKING_DIR
- See weights readme for detail.
- Download pretrained yolo3 full wegiths from Google Drive or Baidu Drive
- Move downloaded file
yolov3_weights_pytorch.pth
towegihts
folder in this project.
cd evaluate
python eval.py params.py
Model | mAP (min. 50 IoU) | weights file |
---|---|---|
YOLOv3 (paper) | 57.9 | |
YOLOv3 (convert from paper) | 58.18 | official_yolov3_weights_pytorch.pth |
YOLOv3 (train best model) | 59.66 | yolov3_weights_pytorch.pth |
@article{yolov3,
title={YOLOv3: An Incremental Improvement},
author={Redmon, Joseph and Farhadi, Ali},
journal = {arXiv},
year={2018}
}
- darknet
- PyTorch-YOLOv3: Thanks for Evaluate and YOLO loss code