Model configuration

Note

These classes aren’t meant to be instantiated directly. They are used for module config validation with OmegaConf Structured config and provided here as a general reference of module config file format.

Base model configuration entities

Savant base models

Base deep learning model configuration templates.

Inheritance diagram of Model, ObjectModel, AttributeModel, ComplexModel

Model child classes

Inheritance diagram of ModelOutput, ObjectModelOutput, AttributeModelOutput, ComplexModelOutput

ModelOutput child classes

Model

Base model configuration template.

ModelInput

Model input parameters configuration template.

ModelOutput

Model output parameters configuration template.

PreprocessObjectImage

Object image preprocessing function configuration.

ObjectModel

Object model configuration template.

ObjectModelOutput

ObjectModel output configuration template.

ObjectModelOutputObject

ObjectModel output objects configuration template.

AttributeModel

Attribute model configuration template.

AttributeModelOutput

AttributeModel output configuration template.

AttributeModelOutputAttribute

AttributeModel output attribute configuration template.

ComplexModel

Complex model configuration template.

ComplexModelOutput

ComplexModel output configuration template.

class savant.base.model.ModelPrecision(value)

Enum for model data format to be used by inference.

FP32 = 0

FP32 precision inference.

INT8 = 1

INT8 precision inference.

FP16 = 2

FP16 precision inference.

class savant.base.model.ModelColorFormat(value)

Enum for input image color format expected by the model.

RGB = 0

RGB input images.

BGR = 1

BGR input images.

GRAY = 2

Gray input images.

Deepstream base models

NvInferModel

Base configuration template for a nvinfer model.

Deepstream model configuration

Gst-nvinfer model configuration templates.

Inheritance diagram of savant.base.model.Model, NvInferModel, NvInferDetector, NvInferInstanceSegmentation, NvInferAttributeModel, NvInferComplexModel

Model hierarchy with nvinfer entities

Inheritance diagram of savant.base.model.ComplexModelOutput, NvInferObjectModelOutput

Model output hierarchy with nvinfer entities

Note

The following classes specify configuration templates for fully realized concrete model types that can be included in the pipeline.

For example, base model types Model or NvInferModel cannot be used in configuration, while their descendant NvInferDetector can.

NvInferDetector

Standard detector with orthogonal bboxes configuration template.

NvInferAttributeModel

NvInferAttribute model configuration template.

NvInferComplexModel

NvInferComplexModel configuration template.

NvInferModelInput

nvinfer model input configuration template.

NvInferObjectModelOutput

NvInferObjectModel output configuration template for detector with aligned bboxes.

NvInferObjectModelOutputObject

NvInferObjectModel output objects configuration template.

class savant.deepstream.nvinfer.model.NvInferModelFormat(value)

Enum for format of the provided model file.

CAFFE = 0

Caffe model.

UFF = 1

UFF model.

ONNX = 2

ONNX model.

ETLT = 3

Nvidia TAO model.

CUSTOM = 4

Other format.

class savant.deepstream.nvinfer.model.NvInferModelType(value)

Enum for type of the model (network-type in nvinfer configuration).

DETECTOR = 0

Detector model.

CLASSIFIER = 1

Classification model.

SEGMENTATION = 2

Semantic segmentation model.

INSTANCE_SEGMENTATION = 3

Instance segmentation model.

CUSTOM = 100

Custom model.