mcpField
Y
yolo-models

yolo-models

github.com/ultralyticsDevelopment33125 installsUpdated 1d ago
Repository

About yolo-models

A reference skill for choosing Ultralytics vision models by task, size, and deployment constraints. It helps users select model families and configure custom architectures.

Key features

  1. 01Compare model families and sizes
  2. 02Match suffixes to vision tasks
  3. 03Select open-vocabulary or promptable models
  4. 04Load and customize architecture YAMLs

Use cases

  1. 01Choose a model for a new vision task
  2. 02Select a model size for latency constraints
  3. 03Decide between detection and segmentation approaches

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/ultralytics/skills --skill yolo-models

After installing, type/yolo-modelsin Claude Code to confirm it loaded.

Bundled filesagents/openai.yamlweights-catalog.md

Details

From the project README

Choosing an Ultralytics model

Default recommendation: YOLO26, pretrained. Latest generation, with an optional NMS-free head (nms=False) for the fastest CPU inference and simplest deployment. Use YOLO11/YOLOv8 only to match an existing codebase or a deployment target that doesn't support YOLO26 yet. Most official weights auto-download on first use; sam3.pt and sam3.1_multiplex.pt require manual access and download.

Choose in Platform

For the quickest no-code start, click New Model in a project. Its Official tab lists YOLO26 (recommended), YOLO11, YOLOv8, and YOLOv5 models whose task can train the selected dataset; My Models lists your completed or uploaded checkpoints for further fine-tuning. To browse the official models first, open the @ultralytics projects under Projects in Platform Explore.

Use a Platform model page to inspect metrics, test it in Predict, export it, deploy it, clone a public model into your workspace, or download its .pt weights for the Python/CLI workflows below. See Platform Models and Explore.

Model = family + size + task suffix

yolo26 + n/s/m/l/x + task suffix → yolo26s-seg.pt

SizeCOCO mAP50-95ParamsT4 TensorRTPick for
n40.92.4M~1.7 msedge/mobile, CPU realtime, first prototype
s48.69.5M~2.5 msbalanced default for most projects
m53.120.4M~4.7 msGPU server, accuracy matters
l55.024.8M~6.2 msaccuracy-critical, ample GPU
x57.555.7M~11.8 msmax accuracy, offline/batch

Strategy: prototype on n to validate the pipeline cheaply, then scale up until accuracy stops paying for the latency. A bigger model never fixes bad labels.

SuffixTaskOutput
(none)detectboxes
-seginstance segmentationpolygons + boxes
-semsemantic segmentation (YOLO26+)per-pixel class mask
-depthmonocular depth (YOLO26+)depth map
-clsclassificationclass probabilities
-posepose/keypointskeypoints + boxes
-obboriented boxesrotated boxes

Notes on the newer tasks:

  • semantic (-sem): dataset uses PNG masks via masks_dir (default masks/) or polygon labels; metric is mIoU.
  • depth (-depth): targets are scaled uint16 PNG maps (preferred) or floating-point .npy maps in meters; metric is delta1. Depth models also expose model.calibrate(data=...), which fits a metric-scale correction; persist it with model.save(...).

Family cheat sheet

FamilyClassWhen
YOLO26 / YOLO11 / YOLO12 / YOLOv8–v10YOLO("yolo26n.pt")standard closed-set tasks; default choice
YOLO-WorldYOLOWorld("yolov8s-worldv2.pt")zero-shot detection of arbitrary text classes; model.set_classes(["person", "helmet"]); prefer -worldv2 (original -world weights cannot export)
YOLOEYOLOE("yoloe-26s-seg.pt")open-vocabulary detect+segment via text or visual prompts; set_classes(["person", "helmet"]), visual prompts via predict(..., visual_prompts={"bboxes": ..., "cls": ...}, predictor=YOLOEVPSegPredictor) (the default predictor returns boxes only); -pf variants are prompt-free
SAM / SAM2 / SAM3 / MobileSAMSAM("sam_b.pt")promptable segmentation: predict(source, bboxes=... / points=... / labels=...); SAM2/SAM3 add video predictors; SAM3 adds text/exemplar concept segmentation (SAM3SemanticPredictor); inference only
FastSAMFastSAM("FastSAM-s.pt")CNN-based segment-anything, much faster than SAM; no training
RT-DETRRTDETR("rtdetr-l.pt")transformer detector, strong accuracy on GPU
YOLO-NASNAS("yolo_nas_s.pt")no training (val/predict/export only)

All classes share the same Model API (train/val/predict/track/export/...) — everything in the other yolo-* skills applies to them, with the exceptions noted above.

Open-vocabulary decision: need arbitrary classes at inference with no training → YOLO-World (detect) or YOLOE (detect+segment, also visual prompts). Need pixel-precise masks from clicks/boxes → SAM family. Need a trained model for a fixed class list → plain YOLO26 fine-tune (faster and more accurate on that closed set).

Architecture YAMLs (custom models)

ultralytics/cfg/models/ ships editable architecture definitions (yolo26.yaml, yolo11.yaml, yolov8.yaml, and variants such as -p2 (small objects), -p6 (large imgsz), and -ghost). Loading YOLO("yolo26n.yaml") builds from scratch — scale is picked from the letter in the stem. To customize the architecture but keep pretrained weights where layers match:

model = YOLO("yolo26n.yaml").load("yolo26n.pt")  # transfer matching weights

Only go here for research/unusual constraints; for normal work fine-tune the stock .pt.

Related pages

  • weights-catalog.md (this folder) — read for package-known weight patterns and specialized official assets. Do not guess weight names.

Verify against the installed version

Model availability moves fast. This prints the installed package's known fast-path set; read weights-catalog.md before treating an unlisted official asset as invalid:

python -c "from ultralytics.utils.downloads import GITHUB_ASSETS_NAMES; print(*sorted(GITHUB_ASSETS_NAMES), sep='\\n')"

If a weight 404s or a class import fails, check yolo checks and trust the installed-version error.

Comments

Markdown supported