.. include:: Reference graphs ------------------ This section provides details about the sample graphs for the DeepStream extensions. Most of these sample graphs are equivalents of the sample apps released as part of the DeepStreamSDK and demonstrate how to port/convert various portions of the “C/C++” based DeepStream applications into graphs and custom components/extensions. Installing the reference graphs ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Download reference graphs: :: https://developer.nvidia.com/deepstream-getting-started Install reference graphs: :: sudo dpkg -i deepstream-reference-graphs-6.0.deb Graphs are installed to: :: /opt/nvidia/deepstream/deepstream-6.0/reference_graphs deepstream-test1 ~~~~~~~~~~~~~~~~~~~~ Simplest example of using DeepStream for object detection. Demonstrates decoding video from a file, performing object detection and overlaying bounding boxes on the frames. Graph Files ^^^^^^^^^^^^^ * deepstream-test1.yaml – The main graph file * parameters.yaml – File containing parameters for the various components in the graph * README - Contains detailed graph description and execution instructions * ds_test1_container_builder_dgpu.yaml - Configuration file for building application specific container for dGPU platform * ds_test1_container_builder_jetson.yaml - Configuration file for building application specific container for Jetson platform | **Path** - /opt/nvidia/deepstream/deepstream-6.0/reference_graphs/deepstream-test1 Graph ^^^^^^^ .. image:: /content/DS_Zero_coding_reference_graph1.png :align: center :alt: Reference graph Sample Output ^^^^^^^^^^^^^^^ .. image:: /content/DS_Zero_coding_graph_sample_output.png :align: center :alt: Sample output deepstream-test2 ~~~~~~~~~~~~~~~~~~ Builds on top of deepstream-test1 and demonstrates object tracking and cascaded inferencing. Graph Files ^^^^^^^^^^^^^^ * deepstream-test2.yaml – The main graph file * parameters.yaml – File containing parameters for the various components in the graph * README - Contains detailed graph description and execution instructions * ds_test2_container_builder_dgpu.yaml - Configuration file for building application specific container for dGPU platform * ds_test2_container_builder_jetson.yaml - Configuration file for building application specific container for Jetson platform | **Path** - /opt/nvidia/deepstream/deepstream-6.0/reference_graphs/deepstream-test2 Graph ^^^^^^^ .. image:: /content/DS_Zero_coding_deepstream_test2_graph.png :align: center :alt: Reference graph for deepstream-test2 Sample Output ^^^^^^^^^^^^^^^ .. image:: /content/DS_Zero_coding_deepstream_test2_output2.png :align: center :alt: sample output for deepstream-test2 deepstream-test3 ~~~~~~~~~~~~~~~~~~~~ Builds on top of deepstream-test1 to demonstrate use of multiple sources in the pipeline. Graph Files ^^^^^^^^^^^^^^ * deepstream-test3.yaml – The main graph file * parameters.yaml – File containing parameters for the various components in the graph * README - Contains detailed graph description and execution instructions * ds_test3_container_builder_dgpu.yaml - Configuration file for building application specific container for dGPU platform * ds_test3_container_builder_jetson.yaml - Configuration file for building application specific container for Jetson platform | **Path** - /opt/nvidia/deepstream/deepstream-6.0/reference_graphs/deepstream-test3 Graph ^^^^^^^ .. image:: /content/DS_Zero_coding_deepstream_test3_graph.png :align: center :alt: Graph for deepstream-test3 Sample Output ^^^^^^^^^^^^^^^ .. image:: /content/DS_Zero_coding_deepstream_test3_output2.png :align: center :alt: sample output for deepstream-test3 deepstream-test4 ~~~~~~~~~~~~~~~~~~~~ Builds on top of deepstream-test1 to demonstrate how to send the metadata generated by the DeepStream components to the cloud using messaging components. Graph Files ^^^^^^^^^^^^^ * deepstream-test4.yaml – The main graph file * parameters.yaml – File containing parameters for the various components in the graph * README - Contains detailed graph description and execution instructions * ds_test4_container_builder_dgpu.yaml - Configuration file for building application specific container for dGPU platform * ds_test4_container_builder_jetson.yaml - Configuration file for building application specific container for Jetson platform | **Path** - /opt/nvidia/deepstream/deepstream-6.0/reference_graphs/deepstream-test4 .. note:: A small note on what minimum parameter changes are needed to run the graph on any system Graph ^^^^^^^ .. image:: /content/DS_Zero_coding_deepstream_test4_graph.png :align: center :alt: Graph for deepstream-test4 Sample Output ^^^^^^^^^^^^^^^ Following is the snapshot from output video. However, the app also sends messages over kafka which can be viewed using the console consumer utility in the kakfa package or a similar alternative. .. image:: /content/DS_Zero_coding_deepstream_test4_output.png :align: center :alt: sample output for deepstream-test4 deepstream-test5 ~~~~~~~~~~~~~~~~~~~~ DeepStream reference application which demonstrates device-to-cloud and cloud-to-device messaging, Smart Record and model on-the-fly update. Graph and related files ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * deepstream-test5.yaml – The main graph file * parameters.yaml – File containing parameters for the various components in the graph * test_sr_message_generator.yaml – Test graph for generating Smart record start/stop messages * dstest5_msgconv_sample_config.txt – Configuration files for the components used in the graph * ds_test5_container_builder_dgpu.yaml - Configuration file for building application specific container for dGPU platform * ds_test5_container_builder_jetson.yaml - Configuration file for building application specific container for Jetson platform * resources.yaml - List of resources required to execute the graph. This is required when using remote graph execution * README - Contains detailed graph description and execution instructions | **Path** - /opt/nvidia/deepstream/deepstream-6.0/reference_graphs/deepstream-test5 Graph ^^^^^^^ .. image:: /content/DS_Zero_coding_deepstream_test5_graph.png :align: center :alt: Graph for deepstream-test5 Sample Output ^^^^^^^^^^^^^^^ .. image:: /content/DS_Zero_coding_deepstream_test5_output.png :align: center :alt: sample output for deepstream-test5 deepstream-runtime-src-add-del ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Demonstrates how sources can be dynamically added/removed at runtime. Also, demonstrates the use of action/signal components. Graph Files ^^^^^^^^^^^^ * deepstream-runtime-src-add-del.yaml – The main graph file * parameters.yaml – File containing parameters for the various components in the graph * README - Contains detailed graph description and execution instructions * ds_runtime_src_add_del_container_builder_dgpu.yaml - Configuration file for building application specific container for dGPU platform * ds_runtime_src_add_del_container_builder_jetson.yaml - Configuration file for building application specific container for Jetson platform | **Path** - /opt/nvidia/deepstream/deepstream-6.0/reference_graphs/deepstream-runtime-src-add-del Graph ^^^^^^^ .. image:: /content/DS_Zero_coding_deepstream_runtime_graph.png :align: center :alt: runtime-src-add-del graph Sample Output ^^^^^^^^^^^^^^^ .. image:: /content/DS_Zero_coding_deepstream_runtime_output.png :align: center :alt: sample output for runtime-src-add-del deepstream-template-plugin ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Demonstrates the usage of configuration components used as configuration providers for other components. These graphs are meant to run only on DGPU platforms since the DeepStream template plugins are available only on DGPU platforms. Graph Files ^^^^^^^^^^^^^ * deepstream-videotemplate.yaml – Graph demonstrating usage of DS video template plugin and a configuration provider for the plugin * deepstream-audiotemplate.yaml – Graph demonstrating usage of DS audio template plugin and a configuration provider for the plugin * ds_audiotemplate_plugin_container_builder_dgpu.yaml, ds_videotemplate_plugin_container_builder_dgpu.yaml - Configuration file for building application specific container for dGPU platform * ds_audiotemplate_plugin_container_builder_jetson.yaml, ds_audiotemplate_plugin_container_builder_jetson.yaml - Configuration file for building application specific container for Jetson platform * README - Contains detailed graph description and execution instructions | **Path** - /opt/nvidia/deepstream/deepstream-6.0/reference_graphs/deepstream-template-plugin Graph ^^^^^^^ .. image:: /content/DS_Zero_coding_deepstream_template_graph.png :align: center :alt: Graph for deepstream-audio-template .. image:: /content/DS_Zero_coding_deepstream_template_graph2.png :align: center :alt: Graph for deepstream-video-template Sample Output ^^^^^^^^^^^^^^^ The sample output consists of the input video scaled by “scale-factor” mentioned in parameters of NvDsSampleVideoTemplateLib component in the graph The sample output consists of the addition of noise specified by “noise-factor” mentioned in parameters of NvDsSampleAudioTemplateLib component in the graph to the input audio. deepstream-app ~~~~~~~~~~~~~~~~~~~ DeepStream reference application, showing a wide variety of features such as kitti dump, performance measurement, handling tiler events. Two graphs corresponding to the two sample configurations in the DeepStreamSDK are provided. Graph Files ^^^^^^^^^^^^^^ * source30_1080p_dec_infer-resnet_tiled_display_int8.yaml – Graph file for 30 file inputs + Primary Detector + Tiled Output * source30_1080p_dec_infer-resnet_tiled_display_int8.parameters.yaml – File with parameters for various components in the above graph * source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8.yaml – Graph file for 4 file inputs + Primary Detector + Tracker + 3 x Secondary Classifiers + Tiled Output * source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8.parameters.yaml – File with parameters for various components in the above graph * README - Contains detailed graph description and execution instructions * ds_app_container_builder_dgpu.yaml - Configuration file for building application specific container for dGPU platform * ds_app_container_builder_jetson.yaml - Configuration file for building application specific container for Jetson platform | **Path** - /opt/nvidia/deepstream/deepstream-6.0/reference_graphs/deepstream-app .. image:: /content/DS_Zero_coding_deepstream_graph_source30.png :align: center :alt: Graph for deepstream-source30 .. image:: /content/DS_Zero_coding_deepstream_output_source30.png :align: center :alt: sample output for deepstream-source30 .. image:: /content/DS_Zero_coding_deepstream_graph_source4.png :align: center :alt: Graph for source4 .. image:: /content/DS_Zero_coding_deepstream_output_source4.png :align: center :alt: sample output for source4 deepstream-audio ~~~~~~~~~~~~~~~~~~~~ Demonstrates audio classification using DeepStream Graph files ^^^^^^^^^^^^^^ * deepstream-audio.yaml – The main graph file * parameters.yaml – File containing parameters for the various components in the graph * README - Contains detailed graph description and execution instructions * ds_audio_container_builder_dgpu.yaml - Configuration file for building application specific container for dGPU platform * ds_audio_container_builder_jetson.yaml - Configuration file for building application specific container for Jetson platform | **Path** - /opt/nvidia/deepstream/deepstream-6.0/reference_graphs/deepstream-audio Graph ^^^^^^^ .. image:: /content/DS_Zero_coding_deepstream_audio_graph.png :align: center :alt: Graph for deepstream audio Sample Output ^^^^^^^^^^^^^^^ Since this is an audio only app, the graph outputs audio classification results in a textual form on the terminal. .. image:: /content/DS_Zero_coding_deepstream_audio_output.png :align: center :alt: sample output for deepstream audio deepstream-360d ~~~~~~~~~~~~~~~~~~~~ Perception graph for the DeepStream 360d smart parking application (https://github.com/NVIDIA-AI-IOT/deepstream_360_d_smart_parking_application). Demonstrates usage of the components developed for the smart parking application to detect and track movement of vehicles in aisles and occupied and vacant spots in a parking garage. The graph has been developed for DGPU only. Graph and related files ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * deepstream-360d.yaml – The main graph file * deepstream-360d.parameters.yaml – File containing parameters for the various components in the graph * config_dewarper.txt, nvaisle_2M.csv , nvspot_2M.csv – Configuration files for the components used in the graph * README - Contains detailed graph description and execution instructions * ds_360d_container_builder_dgpu.yaml - Configuration file for building application specific container for dGPU platform | **Path** - /opt/nvidia/deepstream/deepstream-6.0/reference_graphs/deepstream-360d Graph ^^^^^^^ .. image:: /content/DS_Zero_coding_deepstream_360_graph.png :align: center :alt: Graph for deepstream 360 Sample Output ^^^^^^^^^^^^^^^ .. image:: /content/DS_Zero_coding_deepstream_360_output.png :align: center :alt: sample output for deepstream 360 deepstream-triton ~~~~~~~~~~~~~~~~~~~~ Demonstrates usage of triton server in a simple DeepStream pipeline along with the use of NVIDIA Graph Container Builder for creating usecase based containers. The graph shows object detection using SSD Inception V2 Tensorflow model via the Triton server. For DGPU, the graph must be executed inside the container built using the container builder, since Triton is available only in docker format. For Jetson, the graph can be run directly on the device. Graph and related files ^^^^^^^^^^^^^^^^^^^^^^^^ * deepstream-triton.yaml – The main graph file * deepstream-triton.parameters.dgpu_container.yaml – File containing parameters for executing the graph on DGPU * deepstream-triton.parameters.jetson.yaml – File containing parameters for executing the graph on Jetson * ds_triton_container_builder_cfg_dgpu.yaml – Container Builder configuration file for building a container for the graph * README - Contains detailed graph description and execution instructions * ds_triton_container_builder_cfg_dgpu.yaml - Configuration file for building application specific container for dGPU platform * ds_triton_container_builder_cfg_jetson.yaml - Configuration file for building application specific container for Jetson platform | **Path** - /opt/nvidia/deepstream/deepstream-6.0/reference_graphs/deepstream-triton Graph ^^^^^^^ .. image:: /content/DS_Zero_coding_deepstream_triton_graph.png :align: center :alt: Graph for deepstream-triton Sample Output ^^^^^^^^^^^^^^^ .. image:: /content/DS_Zero_coding_deepstream_triton_output.png :align: center :alt: sample output for deepstream-triton deepstream-camera ~~~~~~~~~~~~~~~~~~~~ Demonstrates usage of a camera source in a simple DeepStream pipeline Graph and related files ^^^^^^^^^^^^^^^^^^^^^^^^ * deepstream-camera.yaml – The main graph file * v4l2-usb-camera.parameters.yaml - Parameters file for using V4L2 USB camera. Works on both x86 and jetson * argus-csi-camera.parameters.yaml - Parameters file for using CSI camera using NVIDIA Argus API. Works on jetson only * README - Contains detailed graph description and execution instructions * ds_camera_container_builder_dgpu.yaml - Configuration file for building application specific container for dGPU platform * ds_camera_container_builder_jetson.yaml - Configuration file for building application specific container for Jetson platform | **Path** - /opt/nvidia/deepstream/deepstream-6.0/reference_graphs/deepstream-camera Graph ^^^^^^^ .. image:: /content/DS_Zero_coding_deepstream_camera_graph.png :align: center :alt: Graph for deepstream-camera Sample Output ^^^^^^^^^^^^^^^ .. image:: /content/DS_Zero_coding_deepstream_camera_output.png :align: center :alt: sample output for deepstream-camera deepstream-action-recognition ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Demonstrates usage of NvDsPreProcess component to do pre-processing outside the NvDsInferVideo component. In this sample, it is used to demonstrate temporal batching and pre-processing required by the NVIDIA TAO Action Recognition models. Graph and related files ^^^^^^^^^^^^^^^^^^^^^^^^ * deepstream-action-recognition.yaml – The main graph file * parameters.yaml - File containing parameters for the various components in the graph * resources.yaml - List of resources required to execute the graph. This is required when using remote graph execution * README - Contains detailed graph description and execution instructions * ds_action_recognition_container_builder_dgpu.yaml - Configuration file for building application specific container for dGPU platform * ds_action_recognition_container_builder_jetson.yaml - Configuration file for building application specific container for Jetson platform * config_preprocess_3d_custom.txt - NvDsPreProcess component configuration file for the 3D Action Recogntion model * config_preprocess_2d_custom.txt - NvDsPreProcess component configuration file for the 2D Action Recogntion model | **Path** - /opt/nvidia/deepstream/deepstream-6.0/reference_graphs/deepstream-action-recognition Graph ^^^^^^^ .. image:: /content/DS_Zero_coding_deepstream_action_recognition_graph.png :align: center :alt: Graph for deepstream-action-recognition Sample Output ^^^^^^^^^^^^^^^ .. image:: /content/DS_Zero_coding_deepstream_action_recognition_output.png :align: center :alt: sample output for deepstream-action-recognition deepstream-subgraph ~~~~~~~~~~~~~~~~~~~~ Demonstrates usage of subgraphs with DS components. Graph and related files ^^^^^^^^^^^^^^^^^^^^^^^^ * main_graph.yaml – The main graph file * inference_subgraph.yaml - Inference subgraph used by thr main graph * resources.yaml - List of resources required to execute the graph. This is required when using remote graph execution * README - Contains detailed graph description and execution instructions * ds_subgraph_container_builder_dgpu.yaml - Configuration file for building application specific container for dGPU platform * ds_subgraph_container_builder_jetson.yaml - Configuration file for building application specific container for Jetson platform | **Path** - /opt/nvidia/deepstream/deepstream-6.0/reference_graphs/deepstream-subgraph Graph ^^^^^^^ Main graph .. image:: /content/DS_Zero_coding_deepstream_subgraph_main_graph.png :align: center :alt: Graph for deepstream-subgraph Inference Subgraph .. image:: /content/DS_Zero_coding_deepstream_subgraph_inference_subgraph.png :align: center :alt: Graph for deepstream-subgraph Sample Output ^^^^^^^^^^^^^^^ .. image:: /content/DS_Zero_coding_deepstream_subgraph_output.png :align: center :alt: sample output for deepstream-subgraph