Model parameters
Model Parameters in DeGirumJS
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.
| Parameter Name | Description | Type | Valid Values / Constraints | Category |
|---|---|---|---|---|
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', 'Null', 'Dequantization'. |
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 |