Skip to content
Voro
  1. Image
  2. Voro

ONNX FX

Authoring guide ONNX FX

ONNX FX runs a model from an .onnx file with device-bound inputs and outputs on the GPU. There is no source to write: you choose the file, describe its inputs and outputs in a config, and press Reload. The shipped model operators in the Image view, Depth Anything, Detect RF-DETR, Segment SAM, Upscale and StyleGAN, are ONNX FX with a model and config already chosen.

Place ONNX FX from the Image view of the Voro menu, under Voro. Set Modelpath to the .onnx file and Configpath to the config that names the graph’s inputs and outputs and how the image maps onto them. Press Reload. Wire an image into image; the model’s result is on out.

A model input entry looks like this inside the config’s model.inputs list:

{ "bind": "in", "name": "images", "layout": "nchw", "dtype": "f32" }

Here images must match the input tensor name in your ONNX model. nchw specifies batch, channels, height and width, and f32 specifies float32 values. The authoring guide has a complete starting config. Match the model’s input size, channels and normalization as well as its tensor names.

  • image, required. The frame the model reads.
  • out. The model’s result as an image.
  • Reload loads the model and config. A model that fails to load leaves the previous session running and reports the error.
  • Mix blends the result with the input and applies live.
  • Save the node as a custom module to keep the model and config together under a name of your own.

Inputs

  • in image
    RGBA

Outputs

  • out image
    RGBA

Model

ONNX Model (Modelpath) Str op('onnx_fx').par.Modelpath
Default:
"" (Empty String)
Runner Config (Configpath) Str op('onnx_fx').par.Configpath
Default:
"" (Empty String)
Reload Config (Reload) Pulse op('onnx_fx').par.Reload
Default:
None

Controls

Mix (Mix) Float op('onnx_fx').par.Mix
Default:
1
Range:
0 to 1