Code MIT. Weights per checkpoint. YOLO is a trademark of its owners. License

Core ML. First.

Object detection.
Built for Apple.

Train an independent detector in Python. Ship Core ML to Apple silicon: palettized ReLU on the Neural Engine, dense FP16 SiLU on GPU. Code is MIT. Weights carry their own license, stated per checkpoint.

Get started See Core ML

Designed for Apple silicon.

Inference-only export. Static DFL grids. ReLU by default. Palettized ReLU on ANE, dense FP16 SiLU on GPU. The Neural Engine is the product path, not an afterthought.

Core ML first

Fused Conv–BN, inference branch only, cached DFL grids (no meshgrid / arange), host NMS. ReLU: FP16 + 8-bit palettes on the Neural Engine. Converted SiLU: dense FP16 on GPU. iOS 16 and macOS 13.

MIT

Code is MIT. Weights carry their own license, stated per checkpoint. Choosing a model means choosing its license. GELAN COCO files are MIT. A model you train yourself is yours.

Your labels

Drop in a Roboflow YOLO or YOLO-Seg export. Same data.yaml you already have.

From notebook to iPhone.

One SDK. Train, validate, predict, export. Application code loads CoreYOLO files only. Prefer Detector; YOLO is a compatibility alias.

pip install coreyolo
from coreyolo import Detector

model = Detector("n")              # GELAN n; also "s" / "m" / "l", or family="e2e"
model.train(data="data.yaml", epochs=100, imgsz=640)
model.save("weights/app.coreyolo")
model.export(imgsz=640)   # ReLU: palettes+ANE; SiLU: dense FP16 GPU
# RF-DETR export is FP16 on the Neural Engine, palettes off

Four graphs. One trainer.

Pick the graph that matches the phone.

GELAN — default

GELAN as in the YOLOv9 paper. Scales n / s / m / l match public v9-t / s / m / c. Export is the main branch only (no PGI aux). Train ReLU here for ANE. Converted SiLU stays on GPU.

See models ›

DFL

C2f + Distribution Focal Loss. Host NMS. Detect and instance segmentation.

See models ›

E2E

Original C3k2 + C2PSA graph. NMS-free top-300 at inference. You train it from scratch.

See models ›

RF-DETR

Set prediction on LibreYOLO’s Core ML contract for this family: fixed RGB image, ImageNet norm inside the graph, no NMS. Scales n / s / m / l at 384 / 512 / 576 / 704. CoreYOLO ships FP16 on the Neural Engine. Train from scratch (MIT).

See models ›

n, s, m, and l.

Same GELAN trainer. Pick the scale for the device. Converted COCO weights for all four are in the zoo.

n — 2.13M

Phones, real-time camera. Matches public v9-t. Train with Detector("n") or convert v9-t.pt.

s — 7.32M

Mac and iPad. Convert v9-s.pt, or train ReLU with --recipe coco-s.

m — 20.22M

Accuracy-biased. Convert v9-m.pt, or train ReLU with --recipe coco-m.

l — 25.59M

Offline / max accuracy. Convert v9-c.pt, or train ReLU with --recipe coco-l.

See the full table ›

Tasks that ship.

Detection and instance segmentation today. Pose and OBB stay out of scope on purpose.

Detect

Anchor-free boxes at strides 8, 16, and 32. Class-aware NMS on the host for GELAN. Top-300 for E2E. Set prediction for RF-DETR, layout (1, Q, 6), no NMS.

Segment

Proto masks on P3, Roboflow YOLO-Seg polygons, three Core ML outputs. Assemble masks after NMS.