**• Hardware Platform (Jetson / GPU)jetson nano
**• DeepStream Version5.1
**• JetPack Version (valid for Jetson only)32.5.1
**• TensorRT Version7.1
I use tlt-encoded-model to load the etlt model in the [property] of the configuration file in deepstream_python_app test3, and running the code prompts an error in parsing the configuration file
nvinfer gstnvinfer.cpp:769:gst_nvinfer_start: error: Config file path: dstest3_pgie_config.txt
There is no clue of the error. Can you upload the whole log?
I want to deploy resnet18.etlt model on deepstream and use yolov3 to detect. The error is as follows:
./tlt-converter -k tlt_encode -d 3,384,1248 -o BatchedNMS -e models/yolo3/yolo_resnet18_fp16.engine -t fp16 -i nchw -m 8 models/yolo3/yolov3_resnet18.etlt
[INFO] Model has no dynamic shape.
[ERROR] Network must have at least one output
[ERROR] Network validation failed.
[ERROR] Unable to create engine
Segmentation fault (core dumped)
yolo3_ Resnet18 is actually downloaded from the official website
@Morganh Can you help to check this tlt-converter issue?
Moving this topic from DS forum into TLT forum.
Please run with below.
$ ./tlt-converter -k nvidia_tlt -d 3,544,960 -p Input,1x3x544x960,1x3x544x960,2x3x544x960 yolov3_resnet18.etlt
This problem has been solved. Thank you, but I can still load the engine file directly in the Yolo directory
ERROR: yoloV3 output layer.size: 4 does not match mask.size: 3
0:00:08.490277898 23430 0x2f11d540 ERROR nvinfer gstnvinfer.cpp:613:gst_nvinfer_logger:<primary_gie> NvDsInferContext[UID 1]: Error in NvDsInferContextImpl::fillDetectionOutput() <nvdsinfer_context_impl_output_parsing.cpp:724> [UID = 1]: Failed to parse bboxes using custom parse function
Segmentation fault (core dumped)
Config for my configuration reference_ infer_ primary_ yoloV3.txt
[property]
gpu-id=0
net-scale-factor=0.0039215697906911373
#0=RGB, 1=BGR
model-color-format=0
model-engine-file=…/…/sources/deepstream_tlt_apps/saved.engine
labelfile-path=labels.txt
#labelfile-path=…/…/samples/models/tlt_pretrained_models/trafficcamnet/labels.txt
int8-calib-file=yolov3-calibration.table.trt7.0
batch-size=8
0=FP32, 1=INT8, 2=FP16 mode
network-mode=2
#num-detected-classes=80
num-detected-classes=4
gie-unique-id=1
network-type=0
is-classifier=0
0=Group Rectangles, 1=DBSCAN, 2=NMS, 3= DBSCAN+NMS Hybrid, 4 = None(No clustering)
cluster-mode=2
maintain-aspect-ratio=1
parse-bbox-func-name=NvDsInferParseCustomYoloV3
custom-lib-path=nvdsinfer_custom_impl_Yolo/libnvdsinfer_custom_impl_Yolo.so
engine-create-func-name=NvDsInferYoloCudaEngineGet
#scaling-filter=0
#scaling-compute-hw=0
[class-attrs-all]
nms-iou-threshold=0.3
threshold=0.7
I read this document and adjusted it, but I still can’t change it. I will send a specific error report tomorrow.
Now I use resnet18 directly_ The engine file generated by trafficcamnet. There are many false detections. Is there any way to adjust them? As shown in the figure
@Morganh
Yolo detection can be used, but I don’t know if it’s a label problem. I can only detect people, not vehicles. Can you provide the next solution?
Can you elaborate more for your issues?
-
What do you mean by “I read this document and adjusted it, but I still can’t change it.” ?
Do you mean you download trafficcamnet etlt model and run inference in deepstream?
Can you provide the detailed steps?
I didn’t use resnet18_trafficane The engine file generated by. If you use Yolo detection directly on this file, an error is reported.
I now downloaded the etlt file of yolov3 from NVIDIA’s official website. yolov3_ The engine file generated by uresnet18.etlt runs as follows:
According to your last comment, you download yolo_v3 etlt model and deploy it to run inference with deepstream. I did not see any error.
There are no errors, but the vehicle cannot be detected. The engine file generated by resnet18_traffic cannot use Yolo. In fact, what I want to implement is to use yolo3 to detect the engine files generated by resnet18 traffic. Resnet18_traffic can still use NVIDIA’s detector, but as shown in the picture I sent above, there is error detection, for example, a vehicle is detected where there is no vehicle
Sure, they are two different networks. One is Yolo network, another is detectnet_v2 network. You cannot mix them up.
I see, but detectnet_V2 There is still error detection in detection. I want to use Yolo to realize detection, but there is no way. The model trained by the default weight file is not accurate
I have read all the relevant materials. At present, it is not what I expected. I can only use TLT to retrain the network for yolo3 detection or detectnet. Thank you again Morganh
Yes, if your test dataset has a quite different data distribution, it is needed to retrain with your own training dataset.
@Morganh Deepstream is connected to RTMP video stream for real-time processing. There is frame loss or jamming, so it can’t complete real-time processing. Can you optimize it? The network may shake occasionally. After shaking, the video stream will be suspended and cannot be played