← all repositories
WongKinYiu/yolov7

YOLOv7: the paper that became a repo before the naming war

The official PyTorch implementation of the YOLOv7 paper, complete with six model sizes, export pipelines, and enough branch variants to need a map.

14.1k stars Jupyter Notebook Computer VisionML FrameworksInference · Serving
yolov7
Velocity · 7d
+9.8
★ / day
Trend
steady
star history

What it does

This is the reference PyTorch implementation of YOLOv7, a family of real-time object detectors. It covers training from scratch on MS COCO, fine-tuning on custom datasets, inference on images and video, and export to ONNX, TensorRT, and CoreML. The repo also hosts experimental branches for pose estimation, instance segmentation, and anchor-free heads.

The interesting bit

The “trainable bag-of-freebies” pitch: architectural tweaks and training strategies that boost accuracy without inflating inference cost. The README backs this with hard numbers—51.4% AP at 161 fps for the base model, scaling up to 56.8% AP at 36 fps for the E6E variant. That’s a useful spread for picking your latency budget.

Key highlights

  • Six model variants (YOLOv7 through YOLOv7-E6E) with published COCO benchmarks and pre-trained weights
  • Docker setup recommended; tested on Python 3.7.13 and PyTorch 1.12.0+cu113
  • Export notebooks for CoreML, ONNX with NMS, and TensorRT (two approaches, one via external tensorrt-python)
  • Transfer learning via *_training.pt weights; custom dataset finetuning with separate hyperparameter files
  • Side branches: pose estimation (pose), instance segmentation (mask, u7/seg), and anchor-free detection (u6)

Caveats

  • The README truncates mid-table for the anchor-free section, so some details are literally cut off
  • TensorRT export relies on an external repo (Linaom1214/tensorrt-python), not a self-contained path
  • Cache invalidation warning: if you’ve used other YOLO versions, you must manually delete .cache files and re-download labels

Verdict

Worth a look if you need a battle-tested real-time detector with clear scaling options and deployment exports. Skip if you’re already happy with YOLOv8 or newer forks—the YOLO naming situation is messy enough that this repo’s historical value may exceed its future maintenance.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.