Some problems in deepstream_parallel_app

Ignore this error. It’s just a character encoding problem for a certain sample.

You can export the .nsys-rep file to host.
It’s not problem about deepstream sdk,you can get support in developer tools forum.

1 Like

Thanks, I will try it later.

I’ sorry to bother you again, but I’m not understand the branch group clearly, could you give me a more detailed explanation about it, thanks.


How to determine the pgie-id and sec-ids? Take the source4_1080.p_dec_parallel_infer.yml for example, I can see three primary-gies(primary-gie0, primary-gie1 and primary-gie2) in the file, but the pgie’id is 2 and 3, what does it mean? And src-ids, it’s defined as selecting sources by sourceid, I’m not really sure what the sourceid is and the numbers of 1; 2; 3<src-ids: 1;2;3>corresponds to which part of the configuration file.

1.gie-unique-id is the identifier of each infer engine and is unique.
and pgie-id in branch[X] group must be same as this value.
Just ensure it is unique, no matter what the value is, it can be 42

2.About src-ids.

The parallel-app has multiple stream inputs.

If you want to send different stream inputs to different inference branches, configure the corresponding stream id.

Such as

0;1;2 --> branch0  
1;2;3 --> branch1 
4;5;6(if you have bigger than 7 inputs stream) --> branch2.

Is the numbers of 0;1;2 in branch0 fixed? Just like:

0;1;2 --> branch0  (branch0  src-id can't be 1;2;3 )
1;2;3 --> branch1 
4;5;6 --> branch2
7;8;9 --> branch3

And I found the source was provided by the csv file in source4_1080.p_dec_parallel_infer.yml


Are the numbers in the src-id related to it, and if so, what is their relationship to each other

No,any valid id can be used

Just related to their order and num-sources

Sorry, please forgive my stupidity, I still not clearly understand it. Taking source4_1080p_dec_parallel_infer.yml as example:

branch0:
  ## pgie's id
  pgie-id: 1  --> primary-gie0  -->  the model is yolov4
  ## select sources by sourceid
  src-ids: 0;1;2

branch1:
  ## pgie's id
  pgie-id: 2  --> primary-gie1  -->  the model is bodypose2d
  ## select sources by sourceid
  src-ids: 1;2;3

branch2:
  ## pgie's id
  pgie-id: 3  --> primary-gie2  -->  the model is trafficcamnet
  ## select sources by sourceid
  src-ids: 1;2;3

And the sources are provided: sources_4_different_source.csv
The csv file provides 2 sources,and each source’s num-sources equal = 2, thus, there are a total of 4 channels of video. I can understand that 0;1 in the src-id is the first source :file:///opt/nvidia/deepstream/deepstream/samples/streams/sample_1080p_h264.mp4 split into two videos, and 2 is the second source file:///opt/ nvidia/deepstream/deepstream/samples/streams/sample_1080p_h265.mp4 split the two-way video in the first well

Your understanding is completely correct.

you can generate the pipeline graph through GST_DEBUG_DUMP_DOT_DIR.

I get the pipeline.png by using the follow command:

apt-get install graphviz
export GST_DEBUG_DUMP_DOT_DIR=/tmp/
./apps/deepstream-parallel-infer/deepstream-parallel-infer -c 
configs/apps/bodypose_yolo_lpr/source4_1080p_dec_parallel_infer.yml
 cd   /tmp/
dot -Tpng pipeline.dot > pipeline.png

But I’m confused about pipeline.png, why is there only one src in tee?

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

The data format processed by nvinfer is called batch.

And nvstreammux organizes video frames into batches. then the batch is forked to every branch through tee

You had better read the documentation about the nstreammux and nvinfer.

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