I am using deepstream_python_apps/apps/deepstream-segmentation at master · NVIDIA-AI-IOT/deepstream_python_apps · GitHub app . I trained an UNET with resnet18 model backbone and exported it using tao export. When I run the app on an image , it gives a mask output and the output mask generated is same for any input image. This is when segmentation-threshold is set to 0. When I increase the segmentation threshold up a bit , even 0.1or more I get a blank image .
The following is the output:
In the terminal it says
"
INFO: [Implicit Engine Info]: layers num: 2
0 INPUT kFLOAT input_1:0 1x128x128
1 OUTPUT kINT32 argmax_1 128x128x1
"
But my model definitely has more than 2 layers.
I only had the etlt file , I let the deepstream app generate the engine file .
My modified Config File :
[property]
gpu-id=0
offsets=127.5
net-scale-factor=0.00784313725490196
maintain-aspect-ratio=0
model-color-format=2
labelfile-path=labels.txt
tlt-encoded-model=test.etlt
tlt-model-key=nvidia_tlt
model-engine-file=test.etlt_b1_gpu0_fp32.engine
infer-dims=1;128;128
uff-input-order=0
uff-input-blob-name=input_1
batch-size=1
network-mode=0
num-detected-classes=2
interval=0
gie-unique-id=1
#network-type=100
network-type=2
output-blob-names=argmax_1
output-tensor-meta=1
segmentation-threshold=0.1
segmentation-output-order=1
#parse-bbox-func-name=NvDsInferParseCustomSSD
#custom-lib-path=nvdsinfer_custom_impl_ssd/libnvdsinfer_custom_impl_ssd.so
#scaling-filter=0
#scaling-compute-hw=0
[class-attrs-all]
pre-cluster-threshold=0.5
roi-top-offset=0
roi-bottom-offset=0
detected-min-w=0
detected-min-h=0
detected-max-w=0
detected-max-h=0
The mask it produces :
Hardware Platform : Xavier
Deepstream Version : 6.2
Jetpack Version : NVIDIA Jetson Xavier NX Developer Kit - Jetpack 5.1.1 [L4T 35.3.1]
TensorRT version : Tensorrt version shown in the images below