Deepstream segmask sample with dashcamnet error

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU) - GeForce RTX 2080 Ti
• DeepStream Version - 6.2
• TensorRT Version - 8.5.2
• NVIDIA GPU Driver Version (valid for GPU only) - 535.54.03
• Issue Type( questions, new requirements, bugs) - bugs

Hi,

I tried to run deepstream-segmask with dashcamnet from TAO but i got these errors:

0:00:02.171872097 749697      0x359f030 WARN                 nvinfer gstnvinfer.cpp:677:gst_nvinfer_logger:<primary-inference> NvDsInferContext[UID 1]: Warning from NvDsInferContextImpl::checkBackendParams() <nvdsinfer_context_impl.cpp:1865> [UID = 1]: backend can not support dims:3x576x960
0:00:02.172368817 749697      0x359f030 WARN                 nvinfer gstnvinfer.cpp:677:gst_nvinfer_logger:<primary-inference> NvDsInferContext[UID 1]: Warning from NvDsInferContextImpl::generateBackendContext() <nvdsinfer_context_impl.cpp:2018> [UID = 1]: deserialized backend context :/opt/nvidia/deepstream/deepstream-6.2/samples/models/tao_pretrained_models/dashcamnet/resnet18_dashcamnet_pruned.etlt_b1_gpu0_int8.engine failed to match config params, trying rebuild
0:00:02.173159145 749697      0x359f030 INFO                 nvinfer gstnvinfer.cpp:680:gst_nvinfer_logger:<primary-inference> NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::buildModel() <nvdsinfer_context_impl.cpp:1923> [UID = 1]: Trying to create engine from model files
ERROR: [TRT]: 3: [builder.cpp::~Builder::307] Error Code 3: API Usage Error (Parameter check failed at: optimizer/api/builder.cpp::~Builder::307, condition: mObjectCounter.use_count() == 1. Destroying a builder object before destroying objects it created leads to undefined behavior.
)
WARNING: [TRT]: The implicit batch dimension mode has been deprecated. Please create the network with NetworkDefinitionCreationFlag::kEXPLICIT_BATCH flag whenever possible.
ERROR: [TRT]: UffParser: Could not read buffer.
parseModel: Failed to parse UFF model
ERROR: tlt/tlt_decode.cpp:358 Failed to build network, error in model parsing.
ERROR: [TRT]: 3: [builder.cpp::~Builder::307] Error Code 3: API Usage Error (Parameter check failed at: optimizer/api/builder.cpp::~Builder::307, condition: mObjectCounter.use_count() == 1. Destroying a builder object before destroying objects it created leads to undefined behavior.
)
ERROR: ../nvdsinfer/nvdsinfer_model_builder.cpp:728 Failed to create network using custom network creation function
ERROR: ../nvdsinfer/nvdsinfer_model_builder.cpp:794 Failed to get cuda engine from custom library API
0:00:03.930961976 749697      0x359f030 ERROR                nvinfer gstnvinfer.cpp:674:gst_nvinfer_logger:<primary-inference> NvDsInferContext[UID 1]: Error in NvDsInferContextImpl::buildModel() <nvdsinfer_context_impl.cpp:1943> [UID = 1]: build engine file failed
ERROR: [TRT]: 2: [logging.cpp::decRefCount::65] Error Code 2: Internal Error (Assertion mRefCount > 0 failed. )
corrupted size vs. prev_size while consolidating
Aborted (core dumped)

It worked with peoplesegnet.

this is my config file:

################################################################################
[property]
gpu-id=0
net-scale-factor=0.017507
offsets=123.675;116.280;103.53
model-color-format=0

labelfile-path=/opt/nvidia/deepstream/deepstream/samples/models/tao_pretrained_models/dashcamnet/labels.txt
tlt-encoded-model=/opt/nvidia/deepstream/deepstream/samples/models/tao_pretrained_models/dashcamnet/resnet18_dashcamnet_pruned.etlt
tlt-model-key=nvidia_tlt
model-engine-file=/opt/nvidia/deepstream/deepstream/samples/models/tao_pretrained_models/dashcamnet/resnet18_dashcamnet_pruned.etlt_b1_gpu0_int8.engine
int8-calib-file=/opt/nvidia/deepstream/deepstream/samples/models/tao_pretrained_models/dashcamnet/dashcamnet_int8.txt

#labelfile-path=/opt/nvidia/deepstream/deepstream/samples/configs/tao_pretrained_models/peopleSegNet_labels.txt
#tlt-encoded-model=/opt/nvidia/deepstream/deepstream/samples/models/tao_pretrained_models/peopleSegNet/V2/peoplesegnet_resnet50.etlt
#tlt-model-key=nvidia_tlt
#model-engine-file=/opt/nvidia/deepstream/deepstream/samples/models/tao_pretrained_models/peopleSegNet/V2/peoplesegnet_resnet50.etlt_b1_gpu0_fp16.engine
#int8-calib-file=/opt/nvidia/deepstream/deepstream/samples/models/tao_pretrained_models/peopleSegNet/V2/peoplesegnet_resnet50_int8.txt
infer-dims=3;576;960
uff-input-blob-name=Input
batch-size=1
## 0=FP32, 1=INT8, 2=FP16 mode
network-mode=2
num-detected-classes=4
interval=0
gie-unique-id=1
network-type=3
output-blob-names=generate_detections;mask_fcn_logits/BiasAdd
parse-bbox-instance-mask-func-name=NvDsInferParseCustomMrcnnTLTV2
custom-lib-path=/opt/nvidia/deepstream/deepstream/lib/libnvds_infercustomparser.so
#no cluster
cluster-mode=4
output-instance-mask=1

[class-attrs-all]
pre-cluster-threshold=0.8


from the log, it is because parsing UFF model failed. could you share the configuration file of nvinfer for dashcamnet model.

default pretrained model from TAO, it works with peoplesegnet, but with dashcamnet not

please update the configuration file for dashcamnet, especially the model 's path and preprocess parameters. if still can’t run, please share the configuration file of nvinfer for dashcamnet model.

in tao_pretrained_models works when i run deepstream-app -c deepstream_app_source1_dashcamnet_vehiclemakenet_vehicletypenet.txt, but if i use this model in deepstream-segmask, not. Again, this is my config file:

[property]
gpu-id=0
net-scale-factor=0.017507
offsets=123.675;116.280;103.53
model-color-format=0

labelfile-path=/opt/nvidia/deepstream/deepstream/samples/models/tao_pretrained_models/dashcamnet/labels.txt
tlt-encoded-model=/opt/nvidia/deepstream/deepstream/samples/models/tao_pretrained_models/dashcamnet/resnet18_dashcamnet_pruned.etlt
tlt-model-key=nvidia_tlt
model-engine-file=/opt/nvidia/deepstream/deepstream/samples/models/tao_pretrained_models/dashcamnet/resnet18_dashcamnet_pruned.etlt_b1_gpu0_int8.engine
int8-calib-file=/opt/nvidia/deepstream/deepstream/samples/models/tao_pretrained_models/dashcamnet/dashcamnet_int8.txt

#labelfile-path=/opt/nvidia/deepstream/deepstream/samples/configs/tao_pretrained_models/peopleSegNet_labels.txt
#tlt-encoded-model=/opt/nvidia/deepstream/deepstream/samples/models/tao_pretrained_models/peopleSegNet/V2/peoplesegnet_resnet50.etlt
#tlt-model-key=nvidia_tlt
#model-engine-file=/opt/nvidia/deepstream/deepstream/samples/models/tao_pretrained_models/peopleSegNet/V2/peoplesegnet_resnet50.etlt_b1_gpu0_fp16.engine
#int8-calib-file=/opt/nvidia/deepstream/deepstream/samples/models/tao_pretrained_models/peopleSegNet/V2/peoplesegnet_resnet50_int8.txt
infer-dims=3;576;960
uff-input-blob-name=Input
batch-size=1
## 0=FP32, 1=INT8, 2=FP16 mode
network-mode=2
num-detected-classes=2
interval=0
gie-unique-id=1
network-type=3
output-blob-names=generate_detections;mask_fcn_logits/BiasAdd
parse-bbox-instance-mask-func-name=NvDsInferParseCustomMrcnnTLTV2
custom-lib-path=/opt/nvidia/deepstream/deepstream/lib/libnvds_infercustomparser.so
#no cluster
cluster-mode=4
output-instance-mask=1

[class-attrs-all]
pre-cluster-threshold=0.8


please try “tlt-model-key=tlt_encode”, you can find it in this link.

0:00:02.133229750 779806      0x3ead230 INFO                 nvinfer gstnvinfer.cpp:680:gst_nvinfer_logger:<primary-inference> NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::deserializeEngineAndBackend() <nvdsinfer_context_impl.cpp:1909> [UID = 1]: deserialized trt engine from :/opt/nvidia/deepstream/deepstream-6.2/samples/models/tao_pretrained_models/dashcamnet/resnet18_dashcamnet_pruned.etlt_b1_gpu0_int8.engine
INFO: ../nvdsinfer/nvdsinfer_model_builder.cpp:610 [Implicit Engine Info]: layers num: 3
0   INPUT  kFLOAT input_1         3x544x960       
1   OUTPUT kFLOAT output_bbox/BiasAdd 16x34x60        
2   OUTPUT kFLOAT output_cov/Sigmoid 4x34x60         

0:00:02.168327240 779806      0x3ead230 WARN                 nvinfer gstnvinfer.cpp:677:gst_nvinfer_logger:<primary-inference> NvDsInferContext[UID 1]: Warning from NvDsInferContextImpl::checkBackendParams() <nvdsinfer_context_impl.cpp:1865> [UID = 1]: backend can not support dims:3x576x960
0:00:02.168819134 779806      0x3ead230 WARN                 nvinfer gstnvinfer.cpp:677:gst_nvinfer_logger:<primary-inference> NvDsInferContext[UID 1]: Warning from NvDsInferContextImpl::generateBackendContext() <nvdsinfer_context_impl.cpp:2018> [UID = 1]: deserialized backend context :/opt/nvidia/deepstream/deepstream-6.2/samples/models/tao_pretrained_models/dashcamnet/resnet18_dashcamnet_pruned.etlt_b1_gpu0_int8.engine failed to match config params, trying rebuild
0:00:02.169625662 779806      0x3ead230 INFO                 nvinfer gstnvinfer.cpp:680:gst_nvinfer_logger:<primary-inference> NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::buildModel() <nvdsinfer_context_impl.cpp:1923> [UID = 1]: Trying to create engine from model files
ERROR: [TRT]: 3: [builder.cpp::~Builder::307] Error Code 3: API Usage Error (Parameter check failed at: optimizer/api/builder.cpp::~Builder::307, condition: mObjectCounter.use_count() == 1. Destroying a builder object before destroying objects it created leads to undefined behavior.
)
WARNING: [TRT]: The implicit batch dimension mode has been deprecated. Please create the network with NetworkDefinitionCreationFlag::kEXPLICIT_BATCH flag whenever possible.
ERROR: [TRT]: 3: [network.cpp::addInput::1615] Error Code 3: API Usage Error (Parameter check failed at: optimizer/api/network.cpp::addInput::1615, condition: isValidDims(dims, hasImplicitBatchDimension())
)
ERROR: [TRT]: UFFParser: Failed to parseInput for node input_1
ERROR: [TRT]: UffParser: Parser error: input_1: Failed to parse node - Invalid Tensor found at node input_1
parseModel: Failed to parse UFF model
ERROR: tlt/tlt_decode.cpp:358 Failed to build network, error in model parsing.
ERROR: [TRT]: 3: [builder.cpp::~Builder::307] Error Code 3: API Usage Error (Parameter check failed at: optimizer/api/builder.cpp::~Builder::307, condition: mObjectCounter.use_count() == 1. Destroying a builder object before destroying objects it created leads to undefined behavior.
)
ERROR: ../nvdsinfer/nvdsinfer_model_builder.cpp:728 Failed to create network using custom network creation function
ERROR: ../nvdsinfer/nvdsinfer_model_builder.cpp:794 Failed to get cuda engine from custom library API
0:00:03.946775221 779806      0x3ead230 ERROR                nvinfer gstnvinfer.cpp:674:gst_nvinfer_logger:<primary-inference> NvDsInferContext[UID 1]: Error in NvDsInferContextImpl::buildModel() <nvdsinfer_context_impl.cpp:1943> [UID = 1]: build engine file failed
ERROR: [TRT]: 2: [logging.cpp::decRefCount::65] Error Code 2: Internal Error (Assertion mRefCount > 0 failed. )
corrupted size vs. prev_size while consolidating
Aborted (core dumped)

i try to make segmentation on vehicles

please set
infer-dims: 3;544;960
uff-input-blob-name: input_1
please refer to this link for parameter explanation.

deepstream will use TensorRT to generate engine. you can use tao-converter to test the generating TensorRT engine. here is the command.

./tao-converter -k tlt_encode -t int8 -c dashcamnet_int8.txt -b 1 -d 3,544,960 -e resnet18_dashcamnet_pruned.etlt_b1_gpu0_int8.engine resnet18_dashcamnet_pruned.etlt

is there a model like peoplesegnet, but for vehicles?

There is no update from you for a period, assuming this is not an issue anymore. Hence we are closing this topic. If need further support, please open a new one. Thanks

CitySemSegformer model supports cars. please refer to this link.
there is a ready deepstream sample .

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.