I am currently trying to run a secondary model which is a multi class classifier, right after my primary detector.
This classifier engine was built from an onnx model file.
Here is the content of my config file for this model:
gpu-id=0 net-scale-factor=0.0039215697906911373 offsets=123.675;116.128;103.53 onnx-file=/models/mobilnetv2-219.onnx model-engine-file=/models/mobilnetv2-219.onnx_b16_fp16.engine batch-size=16 model-color-format=0 process-mode=2 network-mode=2 input-object-min-width=0 input-object-min-height=0 gie-unique-id=2 operate-on-gie-id=1 operate-on-class-ids=0 classifier-threshold=0.4 maintain-aspect-ratio=0 classifier-async-mode=0 network-type=100 #network-type=1 output-tensor-meta=1 write-output-file=1 process-mode=2
As I wanted to parse this model output my way I used output-tensor-meta, I also used write-output-file to dump the raw output of my model to gain more insight.
Note : write-output-file also appears to dump the input that my model takes.
I proceeded as follows:
1 - Run DeepStream on a video sample (no good results obtained)
2 - Use the dumped input as input of my engine and run it through TensorRT (good results obtained)
3 - Use the dumped output and directly parse it (no good results obtained)
Note : To be sure of what result I should get I made my model overfit on the video sample.
At first I thought the cause was my post inference parsing, but it seems the problem is already present when the raw output is dumped. However step 2 shows the engine correctly infer from the same input when outside of DeepStream.
Any ideas as to what might cause this peculiar behavior?