// the find
ultralytics/yolov5
Ultralytics YOLOv5 in PyTorch > ONNX > CoreML > TFLite
YOLOv5 is Ultralytics' PyTorch-based object detection model family, covering nano through extra-large variants with a unified training/export pipeline. It targets CV practitioners who need a well-tested detector they can train on custom data, export to ONNX/TensorRT/CoreML/TFLite, and deploy anywhere from edge devices to cloud. The project is in maintenance mode — Ultralytics now pushes new architecture work into their `ultralytics` package (YOLOv8/v11/YOLO12).
Export pipeline is genuinely good: one script handles ONNX, TensorRT, CoreML, TFLite, OpenVINO, and more, with tested benchmarks for each. The nano/small model sizes (1.9M–7.2M params) hit surprisingly good mAP for their weight, making edge deployment realistic without quantization tricks. AutoBatch (`--batch-size -1`) and AutoAnchor are small quality-of-life features that actually save time in practice. The CI, Docker images, and reproducible benchmark commands are well-maintained — you can verify the published numbers yourself.
This repo is effectively frozen at v7.0; new architecture improvements (YOLO11, YOLO12) are in the separate `ultralytics` package, so adopting YOLOv5 today means accepting a dead end. The codebase is a large tangle — `utils/general.py` alone is thousands of lines mixing unrelated utilities, which makes customization painful. No built-in support for transformer-based backbones or attention mechanisms beyond the experimental YAML configs in `models/hub`. Training large models (YOLOv5l/x) still assumes multi-day V100 access; there's no guidance for resource-constrained fine-tuning scenarios.