Hardware Platform (Jetson / GPU) :- Jetson Nano
• DeepStream Version :- 5.0
• JetPack Version (valid for Jetson only) - 4.4 [L4T 32.4.3]
• TensorRT Version :- 7.1.3.0
• CUDA : 10.2.89
I am working on the deepstream-test5 app to try out the OTA functionality on custom yolov3-tiny model. I tried the test file by just adding a white space at the end of the file and saved it, and it worked perfect (/opt/nvidia/deepstream/deepstream-5.0/sources/apps/sample_apps/deepstream-test5/configs/test5_ota_override_config.txt)
When I tried my code, the deepstream-test5-app detects a change in the ota override file, and update the model succesfully, but than i get ‘Segmentation fault (core dumped)’. I used the same custom yolov3-tiny model engine file i run on deepstream-test5-app and just add a white space on ota override config file.
Config File
[property]
gpu-id=0
net-scale-factor=0.0039215697906911373
custom-network-config=models/custom_yolov3_tiny.cfg
model-file=custom_yolov3_tiny.weights
model-engine-file=custom_yolov3_tiny_model_b1_gpu0_fp16.engine
labelfile-path=custom_yolov3_tiny.txt
batch-size=1
process-mode=1
#0=RGB, 1=BGR
model-color-format=0
##0=FP32, 1=INT8, 2=FP16 mode
network-mode=2
num-detected-classes=2
interval=19
gie-unique-id=1
parse-bbox-func-name=NvDsInferParseCustomYoloV3Tiny
custom-lib-path=…/…/src/objectDetector_Yolo/nvdsinfer_custom_impl_Yolo/libnvdsinfer_custom_impl_Yolo_2class.so
engine-create-func-name=NvDsInferYoloCudaEngineGet
OTA config
model-engine-file=/home/nano/vap/deepstream5/models/custom_yolov3_tiny_ggg/custom_yolov3_tiny_model_b1_gpu0_fp16.engine
labelfile-path=/home/nano/vap/deepstream5/models/custom_yolov3_tiny_ggg/custom_yolov3_tiny.txt
config-file=/home/nano/vap/deepstream5/models/custom_yolov3_tiny_ggg/config_infer_primary_custom_yolov3_tiny.txt
ERROR
nano@nano:~/vap/deepstream5$ deepstream-test5-app -c deepstream_app_config.txt -o test5_ota_override_config.txt
REAL PATH = /home/nano/vap/deepstream5/test5_ota_override_config.txt
gstnvtracker: Loading low-level lib at /opt/nvidia/deepstream/deepstream-5.0/lib/libnvds_mot_klt.so
gstnvtracker: Optional NvMOT_RemoveStreams not implemented
gstnvtracker: Batch processing is OFF
gstnvtracker: Past frame output is OFF
Deserialize yoloLayerV3 plugin: yolo_17
Deserialize yoloLayerV3 plugin: yolo_24
0:00:06.716277142 21360 0x26a05290 INFO nvinfer gstnvinfer.cpp:619:gst_nvinfer_logger:<primary_gie> NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::deserializeEngineAndBackend() <nvdsinfer_context_impl.cpp:1701> [UID = 1]: deserialized trt engine from :/home/nano/vap/deepstream5/models/custom_yolov3_tiny_ggg/custom_yolov3_tiny_model_b1_gpu0_fp16.engine
INFO: [Implicit Engine Info]: layers num: 3
0 INPUT kFLOAT data 3x416x416
1 OUTPUT kFLOAT yolo_17 21x13x13
2 OUTPUT kFLOAT yolo_24 21x26x26
0:00:06.717009815 21360 0x26a05290 INFO nvinfer gstnvinfer.cpp:619:gst_nvinfer_logger:<primary_gie> NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::generateBackendContext() <nvdsinfer_context_impl.cpp:1805> [UID = 1]: Use deserialized engine model: /home/nano/vap/deepstream5/models/custom_yolov3_tiny_ggg/custom_yolov3_tiny_model_b1_gpu0_fp16.engine
0:00:06.726807796 21360 0x26a05290 INFO nvinfer gstnvinfer_impl.cpp:313:notifyLoadModelStatus:<primary_gie> [UID 1]: Load new model:/home/nano/vap/deepstream5/models/custom_yolov3_tiny_ggg/config_infer_primary_custom_yoloV3_tiny.txt sucessfully
Runtime commands:
h: Print this help
q: Quit
p: Pause
r: Resume
NOTE: To expand a source in the 2D tiled display and view object details, left-click on the source.
To go back to the tiled display, right-click anywhere on the window.
**PERF: FPS 0 (Avg) FPS 1 (Avg) FPS 2 (Avg) FPS 3 (Avg) FPS 4 (Avg) FPS 5 (Avg)
Mon Sep 14 21:40:57 2020
**PERF: 0.00 (0.00) 0.00 (0.00) 0.00 (0.00) 0.00 (0.00) 0.00 (0.00) 0.00 (0.00)
** INFO: <bus_callback:181>: Pipeline ready
Opening in BLOCKING MODE
Opening in BLOCKING MODE
Opening in BLOCKING MODE
Opening in BLOCKING MODE
NvMMLiteOpen : Block : BlockType = 261
NvMMLiteOpen : Block : BlockType = 261
NvMMLiteOpen : Block : BlockType = 261
Opening in BLOCKING MODE
Opening in BLOCKING MODE
NvMMLiteOpen : Block : BlockType = 261
NvMMLiteOpen : Block : BlockType = 261
NVMEDIA: Reading vendor.tegra.display-size : status: 6
NVMEDIA: Reading vendor.tegra.display-size : status: 6
NVMEDIA: Reading vendor.tegra.display-size : status: 6
NVMEDIA: Reading vendor.tegra.display-size : status: 6
NvMMLiteOpen : Block : BlockType = 261
NVMEDIA: Reading vendor.tegra.display-size : status: 6
NVMEDIA: Reading vendor.tegra.display-size : status: 6
NvMMLiteBlockCreate : Block : BlockType = 261
NvMMLiteBlockCreate : Block : BlockType = 261
NvMMLiteBlockCreate : Block : BlockType = 261
NvMMLiteBlockCreate : Block : BlockType = 261
NvMMLiteBlockCreate : Block : BlockType = 261
NvMMLiteBlockCreate : Block : BlockType = 261
** INFO: <bus_callback:167>: Pipeline running
KLT Tracker Init
KLT Tracker Init
KLT Tracker Init
KLT Tracker Init
KLT Tracker Init
KLT Tracker Init
WARNING; playback mode used with URI [file:///home/nano/vap/deepstream5/./videos/xxx.mp4] not conforming to timestamp format; check README; using system-time
WARNING; playback mode used with URI [file:///home/nano/vap/deepstream5/./videos/yyy.mp4] not conforming to timestamp format; check README; using system-time
WARNING; playback mode used with URI [file:///home/nano/vap/deepstream5/./videos/zzz.mp4] not conforming to timestamp format; check README; using system-time
WARNING; playback mode used with URI [file:///home/nano/vap/deepstream5/./videos/ddd.mp4] not conforming to timestamp format; check README; using system-time
WARNING; playback mode used with URI [file:///home/nano/vap/deepstream5/./videos/vvvv.mp4] not conforming to timestamp format; check README; using system-time
Mon Sep 14 21:41:02 2020
**PERF: 33.37 (32.62) 33.37 (32.62) 33.37 (32.62) 33.37 (32.62) 33.37 (32.62) 33.37 (32.62)
File test5_ota_override_config.txt modified.
New Model Update Request primary_gie ----> /home/nano/vap/deepstream5/models/custom_yolov3_tiny_ggg/custom_yolov3_tiny_model_b1_gpu0_fp16.engine
Deserialize yoloLayerV3 plugin: yolo_17
Deserialize yoloLayerV3 plugin: yolo_24
0:00:14.109801595 21360 0x7ed801f200 INFO nvinfer gstnvinfer.cpp:619:gst_nvinfer_logger:<primary_gie> NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::deserializeEngineAndBackend() <nvdsinfer_context_impl.cpp:1701> [UID = 1]: deserialized trt engine from :/home/nano/vap/deepstream5/models/custom_yolov3_tiny_ggg/custom_yolov3_tiny_model_b1_gpu0_fp16.engine
INFO: [Implicit Engine Info]: layers num: 3
0 INPUT kFLOAT data 3x416x416
1 OUTPUT kFLOAT yolo_17 21x13x13
2 OUTPUT kFLOAT yolo_24 21x26x26
0:00:14.110406297 21360 0x7ed801f200 INFO nvinfer gstnvinfer.cpp:619:gst_nvinfer_logger:<primary_gie> NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::generateBackendContext() <nvdsinfer_context_impl.cpp:1805> [UID = 1]: Use deserialized engine model: /home/nano/vap/deepstream5/models/custom_yolov3_tiny_ggg/custom_yolov3_tiny_model_b1_gpu0_fp16.engine
0:00:14.183509142 21360 0x264f0320 INFO nvinfer gstnvinfer_impl.cpp:313:notifyLoadModelStatus:<primary_gie> [UID 1]: Load new model:/home/nano/vap/deepstream5/models/custom_yolov3_tiny_ggg/custom_yolov3_tiny_model_b1_gpu0_fp16.engine sucessfully
Model Update Status: Updated model : /home/nano/vap/deepstream5/models/custom_yolov3_tiny_ggg/custom_yolov3_tiny_model_b1_gpu0_fp16.engine, OTATime = 2098.045000 ms, result: ok
Segmentation fault (core dumped)