YOLOv4 in PyTorch, where configuration is still code
A from-scratch PyTorch YOLOv4 reference that treats manual edits to Python source files as its configuration layer.

What it does
This is a ground-up PyTorch implementation of the YOLOv4 object detector. It provides scripts to train custom models on VOC-format datasets, run inference on images and video, and evaluate mAP. The author maintains a whole constellation of similar repos (YOLOv3 through YOLOv7), suggesting this is part of a long-running educational reference series.
The interesting bit
The project’s defining trait is its stubbornly manual workflow: you switch datasets, weights, or classes by opening Python files like yolo.py and train.py and editing path strings directly. There is no CLI sugar or config-file layer—just code, comments, and the occasional Baidu Netdisk link. It is either refreshingly transparent or maddeningly low-level, depending on your mood.
Key highlights
- Implements the full YOLOv4 architecture: CSPDarkNet53 backbone, SPP and PAN feature pyramids, and Mish activations.
- Bundles modern training tricks: Mosaic augmentation, CIOU loss, label smoothing, and cosine annealing learning rates.
- Claims 70.2 mAP@0.5 on COCO val2017 and 89.0 mAP@0.5 on VOC Test07 at 416×416 resolution.
- Supports multi-GPU training, video inference, batch prediction, and heatmap generation.
- Pinned to PyTorch 1.2.0, a release from mid-2019.
Caveats
- Every workflow step demands manual edits to hardcoded paths inside Python source files; there is no command-line interface or external configuration.
- Documentation, comments, and primary weight downloads are geared toward a Chinese-speaking audience (Baidu Netdisk links included).
- The pinned environment is PyTorch 1.2.0, which may complicate running on modern CUDA stacks.
Verdict
Grab this if you are a Chinese-speaking developer or student who wants a heavily annotated, hackable YOLOv4 reference without framework magic. Skip it if you need a pip-installable package, English docs, or out-of-the-box compatibility with current PyTorch versions.
Frequently asked
- What is bubbliiiing/yolov4-pytorch?
- A from-scratch PyTorch YOLOv4 reference that treats manual edits to Python source files as its configuration layer.
- Is yolov4-pytorch open source?
- Yes — bubbliiiing/yolov4-pytorch is open source, released under the MIT license.
- What language is yolov4-pytorch written in?
- bubbliiiing/yolov4-pytorch is primarily written in Python.
- How popular is yolov4-pytorch?
- bubbliiiing/yolov4-pytorch has 2.2k stars on GitHub.
- Where can I find yolov4-pytorch?
- bubbliiiing/yolov4-pytorch is on GitHub at https://github.com/bubbliiiing/yolov4-pytorch.