Export YOLO
Overview
Converts a YOLO detection checkpoint to PyTorch, ONNX, or TensorRT, whichever formats you tick, and attaches each result to the model version the weights came from.
The model then carries its weights and every format it has been exported to, and the model page lists them for download. A format already exported from the same checkpoint is reused instead of converted again.
Use it after Train YOLO when a checkpoint needs a deployment format.
Prerequisites
How it works
Checks each ticked format against the exports already on the model version and skips the ones built from the same checkpoint before.
FAQ
When does the node reuse an export?
When the model version already carries an export of that format built from the same checkpoint. Every ticked format is checked separately, so a run can build one format and reuse another. Rerunning with the same settings therefore builds nothing new.
Does exporting create a new model version?
No. An export is another file on the version it came from, and the Model output is the same reference as the input, so downstream nodes keep running the original weights.
Why tick several formats in one run instead of one node each?
One run downloads the checkpoint once and attaches every format to the same version. A TensorRT engine is built from an intermediate ONNX graph, so ticking ONNX as well costs one trace rather than two.
Which checkpoint does the node export?
The checkpoint the picked version points at, which for a training run is its best checkpoint. The file must end in .pt or .pth, otherwise the run stops.
Why does TensorRT need a GPU?
TensorRT builds its engine on a CUDA GPU and has no CPU fallback. The node checks for a GPU before it downloads or converts anything, so a run without one stops before any format is built. When a GPU is visible, every format in the run, ONNX included, is exported on it.
What does this node not support?
Instance segmentation models aren’t offered in the Model picker. Every export is full precision (FP32), and the remaining Ultralytics export settings stay at their defaults. At least one format must be ticked, or the run stops.
Why wasn't the checkpoint found?
The version may have no weights of its own, as with a model copied from the catalog, or its model files may hold no .pt or .pth checkpoint. Train from the catalog model first, then export the version that run produced.
Inputs
Detection model whose checkpoint is exported, e.g. a version trained in this workspace. A model copied from the catalog hosts no weights of its own and has nothing to export, so train from it first. Key: MODEL.
Attach the checkpoint itself as a PyTorch export. Key: EXPORT_PYTORCH.
Trace the checkpoint to an ONNX graph. Key: EXPORT_ONNX.
Build a TensorRT engine. It is cut from an intermediate ONNX graph, so ticking ONNX as well costs one trace rather than two. Key: EXPORT_TENSORRT.
Outputs
Format keys this run produced, comma separated. Read by the download widget. Hidden from the flow editor. Key: EXPORT_FORMATS.
The model that was exported, as <model id>@<version id> - the same reference this node was given. An export is another file on that version, not a version of its own, so this output wires on to anything the input accepts. Shown as an artifact. Key: MODEL.
Widgets
The model download widget downloads what this run produced: a single file when the run produced exactly one, and a zip of every ticked format, class lists included, when it produced more. The model version page lists the same files one by one.
Runtime
The export runs in a Docker image based on Ultralytics 8.4.33 on a GPU worker, with TensorRT 10 and the GPU build of ONNX Runtime installed. TensorRT requires a CUDA GPU visible inside the container.
JSON config
Machine-readable node interface for automation and advanced usage.