I have created a Deepstreamer pipeline with the last three elements in the pipeline being nvstreammux - nvinfer - appsink (and configured all relevant elements with batch-size=1).
The bug is that the buffers of the tensorrt output in the NvDsInferTensorMeta data are all NULL:
<capsule object NULL at 0x7f12c647cf30>
I assume I wrongly configured nvinfer but the documentation does not help me. My nvinfer config looks as follows:
When writing the output of tensorrt to a file this is correct.
How to reproduce the issue ? (This is for bugs. Including which sample app is using, the configuration files content, the command line used and other details for reproducing): If necessary I can provide a minimal code example with data.
what sample are you testing or referring to? what is the whole media pipeline? how do you know “tensorrt output in the NvDsInferTensorMeta data are all NULL”? could you share the test code?
It’s a custom pipeline with custom data unrelated to any application example. I will need to check internally if I can share code and the model…
In the meantime: I know that they are all NULL as I print the buffers and the dimensions of my three outputs’ NvDsInferLayerInfo’s (which I get using pyds.get_nvds_LayerInfo):
(10, 14, 4)
<capsule object NULL at 0x7f662e9e8f30>
(10, 14, 1)
<capsule object NULL at 0x7f662e9e8f30>
(10, 14, 8)
<capsule object NULL at 0x7f662e9e8f30>
noting that the three different buffers start at the same memory address.
I configured to write the binary outputs of the model to files (using raw-output-file-write=1 in the config) and those are correct.
You will need to change the path to the source file as well as to the nvinfer_confg file in test.py and add the path to the onnx file in nvinfer_confg.txt
The output I get looks like this:
`batch: 0
<pyds.NvDsInferTensorMeta object at 0x7f31998cf230>
(4, 34, 60)
<capsule object NULL at 0x7f3199937c90>
(16, 34, 60)
<capsule object NULL at 0x7f3199937c90>
batch: 1
<pyds.NvDsInferTensorMeta object at 0x7f31998ff1b0>
(4, 34, 60)
<capsule object NULL at 0x7f3199937c90>
(16, 34, 60)
<capsule object NULL at 0x7f3199937c90>`
sorry for the late reply. nvinfer plugin low-level lib and python binding are opensource. if using using raw-output-file-write=1, nvinfer plugin will write info->buffer to the file. noticing the content are correct. so the C type pointer is not NULL. you print info->buffer in this binding code to make sure the pointer is not NULL. please refer to this doc for how to building binding code.