# qtimlsnpe
The qtimlsnpe plugin shows the Qualcomm^®^ Neural Processing SDK capabilities (load and run the models).
It accepts a tensor prepared by preprocessing elements such as qtimlvconverter and produces an output tensor that's parsed by postprocessing plugins such as qtimlvclassification, qtimlvdetection, qtimlvsegmentation, and qtimlvpose.
This plugin does the following:
- Accepts a tensor prepared by the preprocessing elements such as qtimlvconverter.
- Produces the output tensor that's parsed by the postprocessing plugins such as qtimlvclassification, qtimlvdetection, qtimlvsegmentation, and qtimlvpose.
- Uses the Qualcomm Neural Processing SDK library.
- Uses the ION/DMA buffers assigned by the GstMLBufferPool custom buffer pool class through IOCTL commands to the kernel.
The model and delegate usage is as follows:
- To use a model, provide the absolute path of the model through the model property.
For some models, you may have to set the extra layers property.
After it's loaded, the model file provides the input and output capabilities:
- Number of tensors
- Dimensions
- Type
- If a delegate isn't specified, the plugin executes the model operations on the CPU.
- To select a different delegate, set the delegate property accordingly. For more information, see the [Table : Element properties for qtimlsnpe](https://docs.qualcomm.com/doc/80-70029-50/topic/qtimlsnpe.html#section-gf3-q34-myb).
**Figure : Tensor mode qtimlsnpe architecture**
## Inheritance chain
[GObject](https://docs.gtk.org/gobject/) → [GstObject](https://gstreamer.freedesktop.org/documentation/gstreamer/gstobject.html?gi-language=c) → [GstElement](https://gstreamer.freedesktop.org/documentation/gstreamer/gstelement.html?gi-language=c) → [GstBaseTransform](https://gstreamer.freedesktop.org/documentation/base/gstbasetransform.html?gi-language=c) → GstMLSnpe
The following tables provide information on pad templates and element properties of qtimlsnpe. For use cases, see [Qualcomm Neural Processing SDK use cases](https://docs.qualcomm.com/doc/80-70029-50/topic/qualcomm-neural-processing-sdk-use-cases.html).
## Pad configuration
| Pad Name | Capabilities | Capabilities | Capabilities |
| --- | --- | --- | --- |
| SINK template: 'sink'
Availability: Always
Direction: sink
Availability: Always
Direction: source
flags: readable, writable
String. Default: "mlsnpe0"
flags: readable, writable
Object of type "GstObject"
flags: readable, writable
String. Default: null
flags: readable, writable
Enum "GstMLSnpeDelegate" Default: 0, "none"
(0): none - No delegate, CPU is used for all operations
(1): dsp - Run the processing on the Hexagon DSP
(2): gpu - Run the processing on the Adreno GPU
(3): aip - Run the processing on Snapdragon AIX + HVX
flags: readable, writable
GstValueArray of GValues of type "gchararray"