finds.dev← search

// the find

ultralytics/yolov3

★ 10,571 · Python · AGPL-3.0 · updated Jun 2026

Ultralytics YOLOv3 in PyTorch > ONNX > CoreML > TFLite

Ultralytics' PyTorch port of YOLOv3, packaging the three classic variants (base, SPP, tiny) with training, validation, inference, and multi-format export. It's maintained as a historical baseline and stepping stone to the newer Ultralytics stack, not as a production-recommended choice. For anyone who specifically needs YOLOv3 — embedded constraints, existing model compatibility, academic reproducibility — this is the cleanest available implementation.

Architecture is defined declaratively in YAML files and parsed by a single `parse_model()` function, so you can inspect or modify the network without touching Python. Export pipeline covers a wide range of targets (ONNX, TensorRT, CoreML, OpenVINO, TFLite) from a single `export.py` entrypoint. Hyperparameter sets are version-controlled YAML files rather than buried argparse defaults, which makes experiment tracking straightforward. The shared codebase with YOLOv5 means the training loop, augmentation pipeline, and autoanchor logic are more battle-tested than a standalone YOLOv3 port would be.

This is explicitly a legacy repo — Ultralytics' own docs point you at the `ultralytics` package instead, so you're adopting something the maintainers consider superseded. YOLOv3 is three generations behind current YOLO variants in mAP/speed tradeoffs; YOLOv8 or YOLO11 will beat it on nearly any benchmark. The AGPL-3.0 license is a real constraint for commercial use — the enterprise license exists but costs money, and that friction is easy to overlook until it's a legal problem. No native support for instance segmentation, pose, or classification tasks that the newer Ultralytics stack handles uniformly.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →