I updated my Deepstream to deepstream-5.0_5.0.0-1_arm64.deb on one of my Jetson Tx2 machines, and my deepstream code no longer works after that.
So I tried to test the deepstream-test1-rtsp-out sample program to verify it before hunting for problems in my code. That sample doesn’t work either. The reason is, there is a missing file:
$ pwd
/opt/nvidia/deepstream/deepstream/sources/python/apps/deepstream-test1-rtsp-out
$ ls
README deepstream_test1_rtsp_out.py dstest1_pgie_config.txt
$ grep model-engine dstest1_pgie_config.txt
model-color-format(Default=0 i.e. RGB) model-engine-file, labelfile-path,
model-engine-file=../../../../samples/models/Primary_Detector/ resnet10.caffemodel_b1_gpu0_int8.engine
$ ls -l ../../../../samples/models/Primary_Detector/resnet10.caffemodel_b1_gpu0_int8.engine
ls: cannot access ‘../../../../samples/models/Primary_Detector/resnet10.caffemodel_b1_gpu0_int8.engine’: No such file or directory
$ find / -type f 2>/dev/null | grep resnet10.caffemodel_b1_gpu0_int8.engine
$
As you can see, the file named there does not exist anywhere in the file system. When I try to run the example I get:
ERROR: Deserialize engine failed because file path: /opt/nvidia/deepstream/deepstream-5.0/sources/python/apps/deepstream-test1-rtsp-out/../../../../samples/models/Primary_Detector/resnet10.caffemodel_b1_gpu0_int8.engine open error
The previous versions had missing files too, but they were optional files. Previously I just commented out the config file entries for the missing files, so I tried that here too, and I got:
ERROR: [TRT]: Network has dynamic or shape inputs, but no optimization profile has been defined.
ERROR: [TRT]: Network validation failed.
ERROR: Build engine failed from config file
ERROR: failed to build trt engine.
0:00:01.556394946 102 0x3020ba90 ERROR nvinfer gstnvinfer.cpp:596:gst_nvinfer_logger: NvDsInferContext[UID 1]: Error in NvDsInferContextImpl::buildModel() <nvdsinfer_context_impl.cpp:1611> [UID = 1]: build engine file failed
0:00:01.556752705 102 0x3020ba90 ERROR nvinfer gstnvinfer.cpp:596:gst_nvinfer_logger: NvDsInferContext[UID 1]: Error in NvDsInferContextImpl::generateBackendContext() <nvdsinfer_context_impl.cpp:1697> [UID = 1]: build backend context failed
0:00:01.556788801 102 0x3020ba90 ERROR nvinfer gstnvinfer.cpp:596:gst_nvinfer_logger: NvDsInferContext[UID 1]: Error in NvDsInferContextImpl::initialize() <nvdsinfer_context_impl.cpp:1024> [UID = 1]: generate backend failed, check config file settings
And this turns out to be the same error I had in my own code at the start of this. This code worked in the previous version of Deepstream 5 on the previous JetPack.