Status: Needs Review
This page has not been reviewed for accuracy and completeness. Content may be outdated or contain errors.
How-To: Build Pipelines In YAML¶
Use YAML when you want a reproducible, shareable pipeline definition that can be composed into a trainrun or resolved remotely over gRPC.
Minimal Current Pipeline¶
metadata:
name: MinimalPipeline
description: Current YAML example
author: cuvis.ai
nodes:
- name: data_node
class_name: cuvis_ai.node.data.LentilsAnomalyDataNode
hparams:
normal_class_ids: [0, 1]
- name: rx
class_name: cuvis_ai.anomaly.rx_detector.RXGlobal
hparams:
num_channels: 61
eps: 1.0e-06
connections:
- source: data_node.outputs.cube
target: rx.inputs.data
Schema Rules¶
nodesis a list.- Each node uses
name,class_name, and optionalhparams. - Each edge uses
sourceandtarget. - Port names use
node.outputs.portandnode.inputs.port.
Example: Tracking-Oriented Pipeline¶
metadata:
name: TrackingOverlay
description: Render overlays from tracking JSON
author: cuvis.ai
nodes:
- name: tracks
class_name: cuvis_ai.node.json_file.TrackingResultsReader
hparams:
json_path: tracking_results.json
- name: overlay
class_name: cuvis_ai.node.anomaly_visualization.TrackingOverlayNode
- name: writer
class_name: cuvis_ai.node.video.ToVideoNode
hparams:
output_video_path: tracking_overlay.mp4
connections:
- source: tracks.outputs.image
target: overlay.inputs.image
- source: tracks.outputs.bboxes
target: overlay.inputs.bboxes
- source: overlay.outputs.image
target: writer.inputs.image
Compose It Into A Trainrun¶
# @package _global_
defaults:
- /pipeline/sam3@pipeline: sam3_text_propagation
- /data@data: tracking_cap_and_car
- /training@training: default
- _self_
name: sam3_text_demo
output_dir: ./outputs/${name}
Validation Checklist¶
- Confirm the class path matches a real importable node class.
- Confirm every required input port has a producer.
- Prefer current checked-in configs as templates instead of historical examples.
- Save narrow plugin manifests next to the trainrun when a pipeline depends on plugins.