GStreamer Video Analytics (GVA) Plugin
Classes | Public Member Functions | List of all members
gstgva.tensor.Tensor Class Reference

This class represents tensor - map-like storage for inference result information, such as output blob description (output layer dims, layout, rank, precision, etc.), inference result in a raw and interpreted forms. More...

Classes

class  LAYOUT
 This enum describes model layer layout. More...
 
class  PRECISION
 This enum describes model layer precision. More...
 

Public Member Functions

List[int] dims (self)
 Get inference result blob dimensions info. More...
 
PRECISION precision (self)
 Get inference results blob precision. More...
 
LAYOUT layout (self)
 Get inference result blob layout. More...
 
numpy.ndarray data (self)
 Get raw inference result blob data. More...
 
str name (self)
 Get name as a string. More...
 
str model_name (self)
 Get model name which was used for inference. More...
 
str layer_name (self)
 Get inference result blob layer name. More...
 
float confidence (self)
 Get confidence of inference result. More...
 
str label (self)
 Get label. More...
 
int object_id (self)
 Get object id. More...
 
str format (self)
 Get format. More...
 
List[str] fields (self)
 Get list of fields contained in Tensor instance. More...
 
def __getitem__ (self, key)
 Get item by the field name. More...
 
int __len__ (self)
 Get number of fields contained in Tensor instance. More...
 
def __iter__ (self)
 Iterable by all Tensor fields. More...
 
str __repr__ (self)
 Return string represenation of the Tensor instance. More...
 
None __delitem__ (self, str key)
 Remove item by the field name. More...
 
int label_id (self)
 Get label id. More...
 
str element_id (self)
 Get inference-id property value of GVA element from which this Tensor came. More...
 
None set_name (self, str name)
 Set Tensor instance's name.
 
str layout_as_string (self)
 Get inference result blob layout as a string. More...
 
str precision_as_string (self)
 Get inference results blob precision as a string. More...
 
None set_label (self, str label)
 Set label. More...
 
bool has_field (self, str field_name)
 Check if Tensor instance has field. More...
 
bool is_detection (self)
 Check if this Tensor is detection Tensor (contains detection results) More...
 
def set_labels (self, List[str] labels)
 Set list of labels used as lookup table for label_id. More...
 
def __init__ (self, ctypes.c_void_p structure)
 Construct Tensor instance from C-style GstStructure. More...
 
None __setitem__ (self, str key, item)
 Set item to Tensor. More...
 

Detailed Description

This class represents tensor - map-like storage for inference result information, such as output blob description (output layer dims, layout, rank, precision, etc.), inference result in a raw and interpreted forms.

Tensor is based on GstStructure and, in general, can contain arbitrary (user-defined) fields of simplest data types, like integers, floats & strings. Tensor can contain only raw inference result (such Tensor is produced by gvainference in Gstreamer pipeline), detection result (such Tensor is produced by gvadetect in Gstreamer pipeline and it's called detection Tensor), or both raw & interpreted inference results (such Tensor is produced by gvaclassify in Gstreamer pipeline). Tensors can be created and used on their own, or they can be created within RegionOfInterest or VideoFrame instances. Usually, in Gstreamer pipeline with GVA elements (gvadetect, gvainference, gvaclassify) Tensor objects will be available for access and modification from RegionOfInterest and VideoFrame instances

Constructor & Destructor Documentation

◆ __init__()

def gstgva.tensor.Tensor.__init__ (   self,
ctypes.c_void_p  structure 
)

Construct Tensor instance from C-style GstStructure.

Parameters
structureC-style pointer to GstStructure to create Tensor instance from. There are much simpler ways for creating and obtaining Tensor instances - see RegionOfInterest and VideoFrame classes

Member Function Documentation

◆ __delitem__()

None gstgva.tensor.Tensor.__delitem__ (   self,
str  key 
)

Remove item by the field name.

Parameters
keyField name

◆ __getitem__()

def gstgva.tensor.Tensor.__getitem__ (   self,
  key 
)

Get item by the field name.

Parameters
keyField name
Returns
Item, None if failed to get

◆ __iter__()

def gstgva.tensor.Tensor.__iter__ (   self)

Iterable by all Tensor fields.

Returns
Generator for all Tensor fields

◆ __len__()

int gstgva.tensor.Tensor.__len__ (   self)

Get number of fields contained in Tensor instance.

Returns
Number of fields contained in Tensor instance

◆ __repr__()

str gstgva.tensor.Tensor.__repr__ (   self)

Return string represenation of the Tensor instance.

Returns
String of field names and values

◆ __setitem__()

None gstgva.tensor.Tensor.__setitem__ (   self,
str  key,
  item 
)

Set item to Tensor.

It can be one of the following types: string, int, float.

Parameters
keyName of new field
itemItem

◆ confidence()

float gstgva.tensor.Tensor.confidence (   self)

Get confidence of inference result.

Returns
confidence of inference result as a float, None if failed to get

◆ data()

numpy.ndarray gstgva.tensor.Tensor.data (   self)

Get raw inference result blob data.

Returns
numpy.ndarray of values representing raw inference data, None if data can't be read

◆ dims()

List[int] gstgva.tensor.Tensor.dims (   self)

Get inference result blob dimensions info.

Returns
list of dimensions

◆ element_id()

str gstgva.tensor.Tensor.element_id (   self)

Get inference-id property value of GVA element from which this Tensor came.

Returns
inference-id property value of GVA element from which this Tensor came, None if failed to get

◆ fields()

List[str] gstgva.tensor.Tensor.fields (   self)

Get list of fields contained in Tensor instance.

Returns
List of fields contained in Tensor instance

◆ format()

str gstgva.tensor.Tensor.format (   self)

Get format.

Returns
format as a string, None if failed to get

◆ has_field()

bool gstgva.tensor.Tensor.has_field (   self,
str  field_name 
)

Check if Tensor instance has field.

Parameters
field_namefield name
Returns
True if field with this name is found, False otherwise

◆ is_detection()

bool gstgva.tensor.Tensor.is_detection (   self)

Check if this Tensor is detection Tensor (contains detection results)

Returns
True if tensor contains detection results, False otherwise

◆ label()

str gstgva.tensor.Tensor.label (   self)

Get label.

This label is set for Tensor instances produced by gvaclassify element. It will raise exception if called for detection Tensor. To get detection class label, use RegionOfInterest.label

Returns
label as a string, None if failed to get

◆ label_id()

int gstgva.tensor.Tensor.label_id (   self)

Get label id.

Returns
label id as an int, None if failed to get

◆ layer_name()

str gstgva.tensor.Tensor.layer_name (   self)

Get inference result blob layer name.

Returns
layer name as a string, None if failed to get

◆ layout()

LAYOUT gstgva.tensor.Tensor.layout (   self)

Get inference result blob layout.

Returns
LAYOUT, LAYOUT.ANY if can't be read

◆ layout_as_string()

str gstgva.tensor.Tensor.layout_as_string (   self)

Get inference result blob layout as a string.

Returns
layout as a string, "ANY" if can't be read

◆ model_name()

str gstgva.tensor.Tensor.model_name (   self)

Get model name which was used for inference.

Returns
model name as a string, None if failed to get

◆ name()

str gstgva.tensor.Tensor.name (   self)

Get name as a string.

Returns
Tensor instance's name

◆ object_id()

int gstgva.tensor.Tensor.object_id (   self)

Get object id.

Returns
object id as an int, None if failed to get

◆ precision()

PRECISION gstgva.tensor.Tensor.precision (   self)

Get inference results blob precision.

Returns
PRECISION, PRECISION.ANY if can't be read

◆ precision_as_string()

str gstgva.tensor.Tensor.precision_as_string (   self)

Get inference results blob precision as a string.

Returns
precision as a string, "UNSPECIFIED" if can't be read

◆ set_label()

None gstgva.tensor.Tensor.set_label (   self,
str  label 
)

Set label.

It will raise exception if called for detection Tensor

Parameters
labellabel name as a string

◆ set_labels()

def gstgva.tensor.Tensor.set_labels (   self,
List[str]  labels 
)

Set list of labels used as lookup table for label_id.

Deprecated:
This function and result of calling it should never be used. User application must not expect Tensor to contain labels
Returns
Object itself

The documentation for this class was generated from the following file: