The platform has three training runtimes it builds and uses itself. They run under the same contract as this section. Use them as reference implementations when you build a new trainer.

One framework = one runtime image. Frameworks with different dependencies are not packed into one image. You choose the framework when you create a variant, and cannot change it later.

FrameworkTaskModel variants (wizard step 3)DataGPU
YOLO (ultralytics)Object detectionyolo26n · yolo12n · yolo12s · yolo11n · yolo11sImages + annotationsOptional
Instance segmentationyolo11n-seg · yolo11s-seg · yolo11m-segImages + polygon annotationsOptional
RF-DETRObject detectionrf-detr-nano · -small · -medium · -largeImages + annotationsOptional
Instance segmentationrf-detr-seg-nano · -small · -mediumImages + polygon annotationsOptional
Pointcept (PTv3)Semantic segmentationpt-v3PLY point clouds + classesRequired
Instance segmentation (PointGroup)pg-ptv3PLY point clouds + instance IDs (classes optional)Required

What differs

YOLORF-DETRPointcept
DockerfileDockerfileDockerfile.rfdetrDockerfile.pointcept (two-stage build)
Pinned versionsultralytics 8.4.68rfdetr 1.9.4A specific Pointcept commit, torch 2.9.1
Training data it buildsYOLO labels (images/labels/{train,val} + data.yaml)COCO ({train,valid}/_annotations.coco.json, category ids from 1){train,val}/{scene}/{coord,color,segment}.npy (plus instance.npy for instance segmentation)
Label sourceCOCO · LabelMe · VOC annotationsSameInteger properties inside the PLY (class, instance ID), following the dataset's point label reading
Pretrained weight locationWorking directory (/geo)RF_HOME (/geo/work/weights)/geo/work/weights (the trainer looks there itself)
  • All three trainers build a dataset in their own format in GEO_WORK_DIR, and link images with symbolic links instead of copying them (/geo/dataset is read-only, so there is no reason to copy). Only point clouds are converted from .ply to .npy.
  • Labels without polygons are downgraded to bbox rectangles for segmentation training.
  • Pointcept uses CUDA-only extensions, so submitting without a GPU is rejected at submission. Semantic segmentation needs at least two classes, and instance segmentation needs an instance property set on the dataset, or the submission is rejected.
  • Which point cloud property is the class and which is the instance ID is decided by the dataset's point label reading. If the reading is not confirmed, it is decided by name: a name containing inst · object · obj_id · objid is the instance ID (or the class, if it also contains class · semantic); a name containing label · class · segment · semantic is the class; if neither applies, the first integer property that is not a coordinate or color is the class. A float property whose values are all integers is also read as an integer.
  • The instance ID is not used as a class. In a dataset that assigns a class per instance, the assignment table sets each point's class, and points of unassigned instances or negative IDs are ignored in training. Points with a background instance ID train as the background class if one is chosen, and are ignored otherwise.

To use them

A built-in runtime is used for training only after its image is published (built inside the cluster and pushed to the registry). A tenant administrator creates and publishes a variant per framework in Training runtime (학습 런타임), or a system administrator hands one out as a shared image. The detailed procedure is in the Administration guide.

Written for the platform as of 2026-10-02.

© MLOps Central Platform