BaseComplexModelOutputConverter

Inheritance diagram of BaseComplexModelOutputConverter

BaseComplexModelOutputConverter inheritance diagram

class savant.base.converter.BaseComplexModelOutputConverter(**kwargs)

Base complex model output converter.

tensor_format: TensorFormat = 0

Set to CuPy to get the output_layers tensors in the converter call on the GPU as a cupy.ndarray. Or set to NumPy to get tensors on the host as a numpy.ndarray.

abstract __call__(*output_layers, model, roi)

Converts raw model output tensors to Savant format.

Parameters:
  • output_layers (ndarray | cupy.ndarray) – Model output layer tensors

  • model (ComplexModel) – Complex model, required parameters: input tensor shape, maintain_aspect_ratio flag

  • roi (Tuple[float, float, float, float]) – [top, left, width, height] of the rectangle on which the model infers

Returns:

a combination of BaseObjectModelOutputConverter and BaseAttributeModelOutputConverter outputs:

  • BBox tensor (class_id, confidence, xc, yc, width, height, [angle]) offset by roi upper left and scaled by roi width and height,

  • list of attributes values with confidences (attr_name, value, confidence)

Return type:

Tuple[ndarray, List[List[Tuple[str, Any, float]]]]