FAQ¶
Product Fit¶
What is YOLOmatic?¶
YOLOmatic is a Python 3.12 CLI/TUI for configuring, training, fine-tuning, predicting, benchmarking, augmenting, converting, monitoring, and uploading computer-vision models from a local terminal workflow.
Who is YOLOmatic for?¶
It is for practitioners who want repeatable local training workflows, researchers who need citable and reproducible experiments, and teams that want one CLI for dataset preparation, model configuration, training, evaluation, and deployment handoff.
Is YOLOmatic a hosted training platform?¶
No. YOLOmatic runs locally in your Python environment. It can integrate with hosted services such as Roboflow, ClearML, HuggingFace, and TensorBoard, but the core workflows are local and scriptable.
Is YOLOmatic only a wrapper around Ultralytics?¶
No. YOLOmatic uses Ultralytics for YOLO-family training, but it also includes native RF-DETR routing, SAM 3.1 inference and fine-tuning workflows, Detectron2 training support, dataset conversion tools, augmentation, benchmarking, and cloud upload helpers.
When should I choose YOLOmatic instead of the raw Ultralytics CLI?¶
Choose YOLOmatic when you want guided configuration, model-family routing, hardware-aware defaults, dataset conversion, smart splitting, benchmark reports, Roboflow upload, ClearML/TensorBoard wiring, and a repeatable terminal UX around the training lifecycle.
Installation And Environment¶
What Python version does YOLOmatic require?¶
YOLOmatic targets Python >=3.12,<3.13.
What is the fastest install path?¶
For end users:
uv tool install --python 3.12 yolomatic
yolomatic
For repository development:
git clone https://github.com/shahabahreini/YOLOMatic.git
cd YOLOMatic
uv sync
uv run yolomatic
Can I use pip instead of uv?¶
The project metadata is standard Python packaging metadata, but the documented
and tested workflow uses uv. uv is preferred because the dependency set is
large and includes ML packages that benefit from reproducible locking.
Does YOLOmatic support Windows?¶
Yes. Windows is supported, including CUDA-capable systems. For manual PyTorch
CUDA repairs on Windows, prefer .venv\Scripts\python.exe -m pip ... instead of
uv run pip ... so uv does not resync the environment back to the locked
state.
For tool installs on Windows, use uv tool install --python 3.12 yolomatic.
This avoids source-building ONNX dependencies that do not publish Python 3.13
Windows wheels.
Does YOLOmatic support macOS?¶
Yes. macOS can use CPU or Apple Silicon MPS when PyTorch supports it. NVIDIA CUDA is not available on macOS.
Does YOLOmatic support Linux?¶
Yes. Linux is the most common target for CUDA training. YOLOmatic includes
preflight handling for CUDA/cuDNN runtime library paths when the active .venv
contains the needed NVIDIA runtime packages.
Does YOLOmatic require a GPU?¶
No. A CUDA GPU is strongly recommended for training, but CPU and Apple Silicon MPS fallbacks are supported. YOLOmatic detects common CUDA/PyTorch mismatches and offers repair guidance before training starts.
What happens if PyTorch is CPU-only on a GPU machine?¶
YOLOmatic detects the mismatch when a GPU is visible but torch.cuda.is_available()
is false. The TUI can guide you toward a repair path, CPU fallback, or
cancellation.
Model Families¶
Which model families does YOLOmatic support?¶
YOLO26, YOLOv12, YOLO11, YOLOv10, YOLOv9, YOLOv8, YOLOX, RF-DETR, SAM 3.1, SAM 3, and Detectron2.
Which tasks are supported?¶
Supported tasks include object detection, instance segmentation, image classification, pose estimation, oriented object detection, open-vocabulary segmentation, and mask fine-tuning where the selected model family supports the task.
Does YOLOmatic support YOLO26?¶
Yes. YOLO26 detection, segmentation, and pose estimation variants are exposed through the YOLO configuration flow, with model-size choices such as nano, small, medium, large, and xlarge where supported.
Does YOLOmatic support YOLOv8, YOLOv9, YOLOv10, YOLO11, and YOLOv12?¶
Yes. YOLOmatic supports those YOLO generations through the Ultralytics training route, including detection and the additional task heads supported by each family.
Does YOLOmatic support YOLOX?¶
Yes. YOLOX detection variants are included in the supported model metadata and configuration workflow.
Does YOLOmatic support RF-DETR?¶
Yes. RF-DETR detection and segmentation variants route to the native RF-DETR
trainer and use .pth checkpoints instead of Ultralytics .pt checkpoints.
Can YOLOmatic fine-tune RF-DETR?¶
Yes. YOLOmatic discovers RF-DETR .pth checkpoints and writes fine-tuning
configs that pass the checkpoint as RF-DETR pretraining or resume input as
appropriate.
Does YOLOmatic support SAM 3.1?¶
Yes. YOLOmatic supports SAM 3 and SAM 3.1 inference workflows, including auto, text-prompted, and box-prompted segmentation. It also supports SAM 3.1 fine-tuning on COCO-format mask datasets.
Does YOLOmatic support Detectron2?¶
Yes. YOLOmatic supports Detectron2 training flows for Faster R-CNN, RetinaNet, and Mask R-CNN style configurations.
Does YOLOmatic still support YOLO-NAS?¶
No. YOLO-NAS training is deprecated in this build because SuperGradients conflicts with the modern RF-DETR dependency stack.
Which model should I start with?¶
For a first smoke test, start with a small model such as YOLO26n, YOLO11n,
or another nano/small variant. For transformer detection experiments, start with
RF-DETR Nano or Small before moving to larger variants.
Datasets And Conversion¶
What dataset formats does YOLOmatic understand?¶
YOLOmatic works with YOLO folder datasets, COCO JSON annotations, Labelbox NDJSON exports, and Ultralytics-platform NDJSON exports.
What YOLO dataset layout is expected?¶
A standard layout is:
datasets/name/
data.yaml
train/images/
train/labels/
valid/images/
valid/labels/
test/images/
test/labels/
data.yaml should define train, val or valid, optional test, nc, and
names.
Can YOLOmatic handle flat YOLO datasets?¶
Yes. Recent dataset summary and parsing logic includes a fallback for flat
datasets that have root-level images/ and labels/ folders.
Can YOLOmatic convert Labelbox NDJSON?¶
Yes. The NDJSON converter supports Labelbox exports and can emit YOLO labels or COCO JSON annotations with concurrent image downloads.
Can YOLOmatic convert Ultralytics-platform NDJSON?¶
Yes. YOLOmatic auto-detects Ultralytics-platform image rows and reads normalized
annotations.segments, annotations.boxes, and annotations.pose into YOLO or
COCO output. Select YOLO Pose or COCO Pose to require and preserve
keypoints, pose metadata, and available source splits.
Can YOLOmatic convert polygons and boxes?¶
Yes. The converter handles bounding boxes and polygons where the source export contains them. Polygon data can be preserved in segmentation-oriented outputs.
Can YOLOmatic prepare COCO datasets?¶
Yes. COCO JSON is used for Detectron2, SAM 3.1 fine-tuning, and benchmarking. The NDJSON converter can emit COCO annotations when that output format is selected.
Can YOLOmatic split datasets?¶
Yes. The dataset preparation wizard supports random, class-balanced, and smart-balanced splitting strategies.
What is smart-balanced splitting?¶
Smart-balanced splitting preserves rare classes by seeding scarce class examples first, then filling each split with deterministic random tie-breaking and class balance pressure.
What happens if every label file is empty?¶
YOLOmatic warns clearly that class balancing cannot be meaningful when all label files are empty. It can still split records, but the result cannot preserve class coverage.
Can YOLOmatic augment datasets offline?¶
Yes. YOLOmatic includes Albumentations-powered offline augmentation with reusable profiles, more than 20 transforms, split redistribution, and YOLO/COCO output support.
Can YOLOmatic combine datasets?¶
Yes. The dataset combiner can merge multiple YOLO-format datasets, preserve or remap class names, and hard-link images where possible.
Configuration And Training¶
How do I generate a training config?¶
Run:
uv run yolomatic
Choose Configure Model, select a family and variant, select a dataset, review
hardware-aware settings, and save the generated YAML under configs/.
How do I fine-tune an existing checkpoint?¶
Use Configure Fine-Tune from the main TUI. YOLOmatic discovers compatible checkpoints, lets you bind one to a dataset, and writes a fresh fine-tuning YAML.
Which checkpoint formats are supported?¶
YOLO-family workflows use .pt, RF-DETR uses .pth, Detectron2 commonly uses
.pth, and SAM workflows can use HuggingFace model identifiers or local
artifacts.
How does YOLOmatic choose the trainer?¶
The smart training router reads the saved config and dispatches to the correct trainer: Ultralytics YOLO, native RF-DETR, SAM 3.1, or Detectron2.
Does YOLOmatic download pretrained weights automatically?¶
Fresh configs use official pretrained weights where the underlying trainer supports automatic download. Local checkpoints are used for fine-tuning and resume workflows.
Can I resume training?¶
Yes. Resume behavior depends on the selected trainer and checkpoint type. YOLOmatic distinguishes fresh training, fine-tuning, and resume paths in the generated configuration.
Can YOLOmatic train without ClearML?¶
Yes. ClearML is optional. If ClearML is not configured, training can continue without it after an interactive prompt.
Can YOLOmatic launch TensorBoard?¶
Yes. uv run yolomatic-tensorboard scans discovered training runs and starts
TensorBoard without requiring you to manually locate log directories.
Does YOLOmatic export models?¶
YOLOmatic supports export-oriented training flows where the underlying trainer supports export, including ONNX-related preflight handling for Ultralytics workflows.
Prediction And Segmentation¶
Can YOLOmatic run prediction on one image?¶
Yes. uv run yolomatic-predict supports single-image prediction from discovered
weights or explicit command arguments.
Can YOLOmatic run batch prediction on a folder?¶
Yes. Folder prediction is supported, including progress display and worker-based parallelism where applicable.
Can YOLOmatic discover trained weights automatically?¶
Yes. Prediction workflows scan the project tree for compatible weights so you do not have to paste full checkpoint paths manually.
Can YOLOmatic run SAM segmentation from YOLO boxes?¶
Yes. SAM 3.1 box-prompted mode can use YOLO detections as prompts for mask generation.
Can YOLOmatic do text-prompted segmentation?¶
Yes. SAM 3.1 text-prompted segmentation is available through the SAM inference workflow.
Benchmarking And Reports¶
Can YOLOmatic benchmark trained models?¶
Yes. uv run yolomatic-benchmark evaluates checkpoints on COCO validation data
and generates an interactive HTML report.
Which benchmark metrics are included?¶
Reports include mAP, F1, per-image rankings, prediction confidence inspection, parallel thumbnails, and UMAP vector scatter plots.
Which checkpoints can be benchmarked?¶
Benchmarking currently targets Ultralytics YOLO checkpoints and exports from the
project root, runs/, or weights/, including downloaded Platform weights
under weights/ultralytics/. Supported artifacts include .pt, ONNX,
TensorRT .engine, TorchScript, OpenVINO, TFLite, and other exports that
ultralytics.YOLO can run. Detection and segmentation task type is
auto-detected at runtime.
Can RF-DETR, SAM, or Detectron2 checkpoints be benchmarked?¶
Not through the current benchmark engine. Use Ultralytics YOLO checkpoints or exports for the benchmark report workflow; RF-DETR, SAM, and Detectron2 have their own training or inference paths.
What annotation format does benchmarking require?¶
Benchmark validation uses COCO JSON annotations, commonly named
_annotations.coco.json.
Integrations¶
Can YOLOmatic upload trained models to Roboflow?¶
Yes. YOLOmatic uploads YOLO checkpoints and deploys RF-DETR checkpoints through the upload TUI.
Can YOLOmatic upload automatically after training?¶
Yes. Add a roboflow block to the training YAML with upload enabled and a target
weight such as best.pt.
Which Roboflow credentials are needed?¶
Use .env values such as ROBOFLOW_API_KEY, ROBOFLOW_WORKSPACE, and
ROBOFLOW_PROJECT_IDS. The workspace value should be the workspace slug.
Does YOLOmatic support ClearML?¶
Yes. ClearML can track hyperparameters, metrics, and artifacts. It is optional, and training can continue without ClearML when it is not configured.
Does YOLOmatic support HuggingFace?¶
Yes. SAM 3.1 workflows use HuggingFace model access. Some SAM checkpoints may require HuggingFace authentication.
Does YOLOmatic support Roboflow deployment for RF-DETR?¶
Yes. RF-DETR checkpoint deployment is available through the Roboflow upload workflow.
Files, Secrets, And Project Hygiene¶
Where should secrets go?¶
Put secrets in .env or your shell environment. Do not commit Roboflow API keys,
HuggingFace tokens, ClearML credentials, datasets, trained weights, or generated
run artifacts.
Does YOLOmatic vendor datasets or model weights?¶
No. The repository should not contain datasets, trained weights, or run artifacts. Workflows discover local project files at runtime.
Where are generated configs stored?¶
Generated training configs are stored under configs/ unless you choose a
different path in the workflow.
Where are docs for model benchmarks and architecture details?¶
Use the models guide for detailed supported model families, task support, benchmark tables, and model-selection recommendations.
Troubleshooting¶
Why does uv run pip install torch ... not fix my CUDA install?¶
uv run pip ... can trigger environment synchronization and restore the locked
dependency state. On Windows especially, use the environment Python directly for
manual CUDA repairs, such as .venv\Scripts\python.exe -m pip ....
Why does nvidia-smi show a GPU while PyTorch says CUDA is unavailable?¶
nvidia-smi only proves the driver can see the GPU. PyTorch also needs a CUDA
enabled build and compatible runtime libraries. YOLOmatic checks this mismatch
before training.
Why does my validation key fail when data.yaml uses valid?¶
YOLOmatic accepts val or valid in dataset configs. Recent fixes also avoid
hard failures when one validation key is missing.
Why are my converted labels empty?¶
Check whether the source NDJSON uses Labelbox-style rows or
Ultralytics-platform type: image rows. YOLOmatic now auto-detects both, but an
export without annotation objects will still produce empty labels.
Why does class-balanced splitting warn about empty labels?¶
Class-balanced and smart-balanced splitting need class labels to preserve class coverage. Empty label files can be split as images, but they cannot contribute to class-balance decisions.
Why is training slow on CPU?¶
Modern detection and segmentation training is compute-heavy. Use a small model for smoke tests, reduce image size or batch size, and switch to CUDA when available.
Community, Citation, And Licensing¶
How do I contribute?¶
Read the contributing guide, run uv sync, add or update
tests for behavior changes, update relevant docs, and open a pull request using
the repository template.
How do I report a security issue?¶
Do not open a public issue. Follow the private disclosure process in SECURITY.md.
What license does YOLOmatic use?¶
YOLOmatic is licensed under Apache 2.0.
How should I cite YOLOmatic?¶
Use CITATION.cff for GitHub citation metadata or CITATION.bib for BibTeX.