Models

A scale for every device.

Nano for phones. Small for Mac and iPad. Larger when accuracy leads and the model can wait.

Compound scaling

GELAN (default) uses a fixed channel table; n / s / m / l match v9-t / s / m / c. DFL follows the usual n / s / m / l / x ladder. E2E uses depth 0.50 on n / s / m.

Scale DFL depth / width Params (detect, nc=80) Typical use
n 0.33 / 0.25 2.13M (GELAN) · 3.16M (DFL) · 2.73M (E2E) iPhone, real-time camera
s 0.33 / 0.50 7.32M (GELAN) · 11.17M (DFL) · 10.65M (E2E) Mac / iPad
m 0.67 / 0.75 20.22M (GELAN) · 25.90M (DFL) · 22.63M (E2E) Accuracy-biased
l / x 1.00 / 1.00–1.25 25.59M (GELAN-l) · 43.69M (DFL-l) · 27.17M (E2E-l) Offline / max accuracy

Graphs

Same trainer. Different graphs. Default is --family gelan (YOLOv9). Also dfl, e2e, or rfdetr.

GELAN — default

ELAN1, RepNCSPELAN4, SPPELAN, AConv, DFL head. Scales n / s / m / l match public v9-t / s / m / c. Export is inference-only (no PGI aux). Train ReLU for ANE; remap stays SiLU.

DFL

Older C2f, SPPF, PAN-FPN, decoupled DFL head, reg_max=16. Eval is decoded xywh plus class scores. NMS on the host. Core ML layout (1, 4+nc, N).

E2E

Original C3k2, residual SPPF, C2PSA, dual TAL head, reg_max=1. Eval is NMS-free top-300, (B, 300, 6) as xyxy, conf, cls. Export drops the one-to-many train head. Train from scratch.

RF-DETR

Set prediction, on LibreYOLO's Core ML contract for this family: fixed RGB image, ImageNet norm inside the graph, no NMS. n / s / m / l at 384 / 512 / 576 / 704. CoreYOLO ships it as FP16 on the Neural Engine. Train from scratch (MIT). Upstream Nano–Large stays Apache-2.0. XLarge / 2XLarge (PML 1.0) are refused.

Zoo

Binaries live on GitHub Releases, not in git. mAP stays blank until you record COCO val.

Converted zoo rows (n-coco, s-coco, m-coco, l-coco) are MIT and keep SiLU (GPU). Train recipes are original MIT weights (ReLU, Neural Engine).

Id Graph Task Act Compute How License
coreyolo-n-coco gelan detect SiLU GPU coreyolo convert --weights v9-t.pt MIT
coreyolo-s-coco gelan detect SiLU GPU coreyolo convert --weights v9-s.pt MIT
coreyolo-m-coco gelan detect SiLU GPU coreyolo convert --weights v9-m.pt MIT
coreyolo-l-coco gelan detect SiLU GPU coreyolo convert --weights v9-c.pt MIT
coreyolo-n-coco-seg gelan segment ReLU ANE coreyolo train --task segment --family gelan MIT
coreyolo-n-coco-relu gelan detect ReLU ANE coreyolo train --recipe coco-n MIT
coreyolo-e2e-n-coco e2e detect ReLU ANE coreyolo train --recipe coco-n-e2e MIT
coreyolo-rfdetr-n rfdetr detect GELU ANE coreyolo train --recipe coco-n-rfdetr MIT

See weights/manifest.json and weights/LICENSE_NOTICE.txt in the repository.

Licensing

CoreYOLO code is MIT. Converted zoo weights are MIT. A model you train yourself is yours.

Choosing a model means choosing its license.