Model Parameters
Overview of model parameters available when loading or configuring models.
When loading a model with zoo.loadModel()
you can supply an options
object that lets you control various functionalities of the model. You can also set these parameters on a model instance after it has been loaded.
Model Parameters
The following parameters can be configured to control the behavior of the model, including preprocessing, post-processing, and connection settings. Parameters are categorized by their effect:
JSON-only parameters: These are passed directly to the server as model configuration and do not directly alter the JavaScript SDK's model class behavior.
Model-only parameters: These exclusively affect the model class's behavior within the JavaScript SDK and are not sent to the server.
Hybrid parameters: These both influence the model class's functionality in JavaScript and are also set in the model parameter JSON sent to the server.
deviceType
Specifies the target device type for inference. This can be a single device or an array of preferred devices. The SDK will attempt to use the first supported device in the list.
string
or Array<string>
Examples: 'RUNTIME/DEVICE'
(e.g., 'OPENVINO/CPU'
) or ['RUNTIME1/DEVICE1', 'RUNTIME2/DEVICE2']
. Must be a device type supported by the model and available on the system.
Hybrid
labelWhitelist
An array of strings. If set, only detection labels present in this list will be displayed in the overlay.
Array<string>
An array of strings, e.g., ['person', 'car']
.
Model-only
labelBlacklist
An array of strings. If set, detection labels present in this list will be excluded from the overlay.
Array<string>
An array of strings, e.g., ['background', 'noise']
.
Model-only
overlayColor
Sets the color(s) used for drawing bounding boxes, labels, and segmentation masks. Can be a single RGB triplet [R, G, B]
or an array of such triplets [[R1, G1, B1], [R2, G2, B2]]
for cycling through colors. Defaults to auto-generated colors.
Array<number>
or Array<Array<number>>
Numbers between 0 and 255 for RGB components. Example: [255, 0, 0]
for red, or [[255, 0, 0], [0, 255, 0]]
.
Model-only
overlayLineWidth
Sets the line width (in pixels) for drawing bounding boxes and connections in pose detection.
number
A positive number, e.g., 3
.
Model-only
overlayShowLabels
A boolean value. If true
, labels (e.g., class names) will be displayed in the overlay.
boolean
true
or false
.
Model-only
overlayShowProbabilities
A boolean value. If true
, probabilities or confidence scores will be displayed alongside labels in the overlay.
boolean
true
or false
.
Model-only
overlayAlpha
Sets the transparency percentage of the overlay elements (bounding boxes, masks, etc.).
number
A number between 0 (fully transparent) and 1 (fully opaque).
Model-only
overlayFontScale
Sets the scaling factor for the font size of text displayed in the overlay.
number
A positive number, e.g., 1.5
for 150% size.
Model-only
inputLetterboxFillColor
Sets the RGB fill color used for letterboxing when the inputPadMethod
is set to 'letterbox'
.
Array<number>
An array of 3 numbers between 0 and 255, e.g., [0, 0, 0]
for black.
Model-only
inputPadMethod
Specifies the method used to resize and pad the input image to match the model's expected input dimensions.
string
One of: 'stretch'
, 'letterbox'
, 'crop-first'
, or 'crop-last'
.
Model-only
saveModelImage
A boolean value. If true
, the preprocessed image (as a Blob) that was sent to the model will be included in the result object.
boolean
true
or false
.
Model-only
inputCropPercentage
For 'crop-first'
and 'crop-last'
padding methods, this specifies the percentage of the image to crop.
number
A number between 0 and 1.
Model-only
autoScaleDrawing
A boolean value. If true
, overlay elements like font size and line width will automatically scale based on the display canvas size to maintain visual consistency.
boolean
true
or false
.
Model-only
targetDisplayWidth
Reference width (in pixels) used for autoScaleDrawing
. This helps determine the scaling factor for overlay elements.
number
A number representing the target width, defaults to 1920
.
Model-only
targetDisplayHeight
Reference height (in pixels) used for autoScaleDrawing
. This helps determine the scaling factor for overlay elements.
number
A number representing the target height, defaults to 1080
.
Model-only
cloudToken
Sets the authentication token required for connecting to the DeGirum cloud inference service.
string
A valid authentication token string.
JSON-only
cloudURL
Sets the base URL for the DeGirum cloud server.
string
A valid URL string, e.g., 'https://cloud.degirum.com'
.
JSON-only
outputConfidenceThreshold
Sets the minimum confidence score (probability) for a detection or classification to be included in the model's output. Results below this threshold are filtered out.
number
A number between 0 and 1.
JSON-only
outputMaxDetections
Sets the maximum total number of detections that the model should return for a single inference.
number
An integer.
JSON-only
outputMaxDetectionsPerClass
Sets the maximum number of detections allowed per individual class.
number
An integer.
JSON-only
outputMaxClassesPerDetection
Sets the maximum number of classes to report for each detected object. Useful for models that can classify a single detection into multiple categories.
number
An integer.
JSON-only
outputNmsThreshold
Sets the Non-Maximum Suppression (NMS) Intersection Over Union (IOU) threshold. This parameter is used to filter overlapping bounding boxes, keeping only the most confident ones.
number
A number between 0 and 1.
JSON-only
outputPostprocessType
Specifies the type of post-processing to apply to the model's raw output. This dictates how the model's predictions are interpreted and formatted.
string
One of: 'None'
, 'Base'
, 'Classification'
, 'MultiLabelClassification'
, 'Detection'
, 'DetectionYolo'
, 'DetectionYoloV8'
, 'DetectionYoloV10'
, 'DetectionYoloPlates'
, 'DetectionYoloV8Plates'
, 'FaceDetection'
, 'PoseDetection'
, 'PoseDetectionYoloV8'
, 'HandDetection'
, 'Segmentation'
, 'SegmentationYoloV8'
.
JSON-only
outputTopK
For classification models, this parameter specifies the number of top predictions (classes with the highest confidence scores) to return.
number
An integer.
JSON-only
outputUseRegularNms
A boolean value. If true
, the model will use regular Non-Maximum Suppression (NMS); otherwise, it may use a faster, approximate NMS algorithm.
boolean
true
or false
.
JSON-only
measureTime
A boolean value. If true
, enables detailed performance timing statistics for various stages of the inference process (client-side preprocessing, server-side inference, client-side post-processing). These statistics can be retrieved using getTimeStats()
and printLatencyInfo()
.
boolean
true
or false
.
Hybrid
eagerBatchSize
Sets the batch size for eager execution, influencing how many frames are processed together in a single batch.
number
A positive integer.
JSON-only
outputPoseThreshold
Sets the confidence threshold for individual keypoints in pose detection results. Keypoints with scores below this threshold may be filtered out.
number
A number between 0 and 1.
JSON-only
inputShape
Defines the expected input shape(s) for the model. This can be an array of arrays, where each inner array represents the dimensions (N, H, W, C) for a specific input.
Array<Array<number>>
An array of integer arrays, e.g., [[1, 224, 224, 3]]
for a single input of batch size 1, height 224, width 224, and 3 channels.
Hybrid
Last updated
Was this helpful?