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¶
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¶
Sample Output¶
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¶
Sample Output¶
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¶
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.
deepstream-test5¶
DeepStream reference application which demonstrates device-to-cloud and cloud-to-device messaging, Smart Record and model on-the-fly update.
Graph¶
Sample Output¶
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¶
Sample Output¶
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¶
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
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¶
Sample Output¶
Since this is an audio only app, the graph outputs audio classification results in a textual form on the terminal.
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¶
Sample Output¶
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¶
Sample Output¶
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¶
Sample Output¶
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¶
Sample Output¶
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