Elements
Along with models, elements
are the fundamental work item of Nimble.
A Pipeline describes an ordered list of elements
and can be designed to target multiple hardware devices.
Metadata is passed to the elements
from top to bottom.
As metadata is passed from one element
to the next the metadata is modified by the elements
process
function.
Apart from simple elements
, there are two forms for defining the configurable parameters:
- Short-form: A string with colon-delimited arguments (
:
). - Long-form: An object with named properties.
The API documentation for each pipeline will list its short-form and long-form if available.
When describing the parameter lists f
refers to a floating point value, s
refers to a string, e
refers to an enum, l
refers to a list, and i
refers to an integer.
All long-form representations of a pipeline element include these properties:
name: "element-name" # required
config: {} # additional configuration, may be required by specific elements
Control Elements
This section describes the various control elements
.
These are designed to change the fundamental flow of data within the pipeline.
DEMUX
short-form : demux:<i-input_type>
The demux element
splits a metadata blob of inferences into individual metadata blobs for processing one-at-a-time.
Demux takes in one argument, the inference type to demux on:
i-input_type
: supported input types {value between 1-4 where 1="detections", 2="poses", 3="classifications", 4="embeddings"}
MUX
short-form : mux:<i-input_type>
The mux element
takes split metadata blobs and reconstructs the original metadata blob.
This element
is designed to occur after a demux
.
Mux takes in one argument, the inference type to mux on:
i-input_type
: supported input types {value between 1-4 where 1="detections", 2="poses", 3="classifications", 4="embeddings"}