DeepStream教程
作者:互联网
一、参考资料
DeepStream SDK 官方文档DeepStream 6.0 Release Notes
DeepStream SDK Development Guide
DeepStream SDK API Reference
DeepStream Plugin Manual
DeepStream Python API
二、相关介绍
DeepStream 是使用开源 GStreamer 框架构建的优化图形架构,用于构建具有AI能力的应用程序的流分析工具包。它以流作为输入,即从USB/CSI/RTSP相机中获取流数据,DeepStream SDK 可以作为许多视频分析解决方案的基础层。
DeepStream 提供不同系统平台下的安装方法,包括:Jetson平台,Ubuntu系统下的dGPU(独立显卡),RedHat系统下的dGPU(独立显卡)。
DeepStream SDK核心部分由几个硬件加速器插件组成,这些插件使用各种加速器,例如:VIC,GPU,DLA,NVDEC和NVENC。通过在专用加速器中执行所有计算繁重的操作,DeepStream可以为视频分析应用程序实现最高性能。
DeepStream 建立在 CUDA-X 堆栈的多个 NVIDIA 库的基础上,例如:CUDA,tensorRT,Triton Inference服务器,多媒体库。
deepstream
被拆分成Group组的形式进行积木搭建,Group组的详细介绍,参考: Configuration Groups 。每个具体的Group组,有很多配置参数。
deepstream
的初衷,就是按照功能拆分成小插件,以插件化搭积木形式快速构建深度学习应用,使用者不需要深入理解每个小插件的开发方式。
2.1 DeepStream SDK架构
2.2 DeepStream 架构
2.3 构建 DeepStream pipelines
Python易于使用,并且在创建AI模型时被数据科学家和深度学习专家广泛采用。NVIDIA引入了Python绑定,以帮助您使用Python构建高性能的AI应用程序。DeepStream Python应用程序使用“ Gst-Python” API操作来构造管道,并使用探测函数访问管道中各个点的数据。
2.4 重要说明
- DeepStream 5.1 如何迁移到 DeepStream 6.0,参考: Readme First。
- C++例程:DS_C_Sample_Apps
- python例程:DS_Python_Sample_Apps
- 更多的例程,请参阅 NVIDIA-AI-IOT
2.5 deepstream-app
DeepStream Reference Application - deepstream-app
源码:/opt/nvidia/deepstream/deepstream-6.0/sources/apps/sample_apps/deepstream-app
deepstream-app
是deepstream SDK中的一个例程可执行程序,功能强大。
2.6 Deepstream6.0与Deepstream5.1
Deepstream6.0支持tensorRT8.0.1。tensorRT 8.x与tensorRT 7.x版本不兼容,tensorRT 7.x生成的引擎,在tensorRT 8.x中不可用,故需要重新生成引擎。
2.7 DeepStream 6.0 依赖环境
- Ubuntu 18.04
- GStreamer 1.14.5
- NVIDIA driver 470.63.01
- CUDA 11.4
- TensorRT 8.0.1
三、准备工作
3.1 卸载删除旧版本的Deepstream
3.1.1 DeepStream 3.0之前的版本
$ sudo rm -rf /usr/local/deepstream /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstnv* /usr/bin/deepstream* /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libnvdsgst*
/usr/lib/x86_64-linux-gnu/gstreamer-1.0/deepstream*
/opt/nvidia/deepstream/deepstream*
$ sudo rm -rf /usr/lib/x86_64-linux-gnu/libv41/plugins/libcuvidv4l2_plugin.so
3.1.2 DeepStream 4.0之后的版本
- 打开
/opt/nvidia/deepstream/deepstream/
路径中的uninstall.sh
文件; - 设置
PREV_DS_VER as 4.0
; - 运行
sudo ./uninstall.sh
;
3.2 安装依赖
$ sudo apt install \
libssl1.0.0 \
libgstreamer1.0-0 \
gstreamer1.0-tools \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-ugly \
gstreamer1.0-libav \
libgstrtspserver-1.0-0 \
libjansson4 \
gcc \
make \
git \
python3
3.2.1 检查是否安装成功
dpkg -l | grep gstreamer
3.3 (可选)安装显卡驱动
安装CUDA的时候,勾选“Driver”驱动,表示安装驱动。
参考博客: Ubuntu安装显卡驱动教程
3.4 安装CUDA
3.5 安装tensorRT
注意版本对齐:
- DeepStream 6.x 对应 tensorRT 7.x;
- DeepStream 5.x 对应 tensorRT 8.x;
3.6 安装librdkafka
librdkafka (to enable Kafka protocol adaptor for message broker).
3.6.1 从github仓库下载源码
git clone https://github.com/edenhill/librdkafka.git
3.6.2 修改配置
cd librdkafka
git reset --hard 7101c2310341ab3f4675fc565f64f0967e135a6a
./configure
3.6.3 编译安装
# 编译
make -j8
# 安装
# 默认的安装位置为:/usr/local/lib/librdkafka*
sudo make install
3.6.4 拷贝库文件
sudo mkdir -p /opt/nvidia/deepstream/deepstream-6.0/lib
sudo cp -r /usr/local/lib/librdkafka* /opt/nvidia/deepstream/deepstream-6.0/lib
四、安装DeepStream SDK
4.1 方法一
使用deb方式安装。
4.1.1 下载deb安装包
deepstream-6.0_6.0.0-1_amd64.deb
4.1.2 安装
sudo apt-get install ./deepstream-6.0_6.0.0-1_amd64.deb
4.2 方法二
使用 tar 包安装。
4.2.1 下载 tar 安装包
deepstream_sdk_v6.0.0_x86_64.tbz2
4.2.2 解压并安装
# 解压
sudo tar -xvf deepstream_sdk_v6.0.0_x86_64.tbz2 -C /
# 安装
cd /opt/nvidia/deepstream/deepstream-6.0/
sudo ./install.sh
# 修改配置
sudo ldconfig
4.2.3 安装 python 接口
sudo apt update
sudo apt install python3-gi python3-dev python3-gst-1.0 -y
cd /opt/nvidia/deepstream/deepstream-6.0/lib
python3 setup.py install
4.3 方法三
使用 Docker 容器方式安装,略…
4.4 查看是否安装成功
deepstream-app --version-all
# 输出
deepstream-app version 5.1.0
DeepStreamSDK 5.1.0
CUDA Driver Version: 10.2
CUDA Runtime Version: 10.2
TensorRT Version: 7.1
cuDNN Version: 8.0
libNVWarp360 Version: 2.0.1d3
五、运行 deepstream-app
5.1 deepstream-app
简单例程
5.2 查看 deepstream-app
的用法
deepstream-app --help
5.3 测试 deeptream-app
# path_to_config_file 是配置文件的路径
deepstream-app -c <path_to_config_file>
# 进入 samples 目录
cd /opt/nvidia/deepstream/deepstream/samples
deepstream-app -c ./configs/deepstream-app/source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8.txt
或者
deepstream-app -c /opt/nvidia/deepstream/deepstream/samples/configs/deepstream-app/source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8.txt
5.4 验证 python 示例
cd /opt/nvidia/deepstream/deepstream/sources
git clone https://github.com/NVIDIA-AI-IOT/deepstream_python_apps
# 运行例子1
cd /opt/nvidia/deepstream/deepstream/sources/deepstream_python_apps/apps/deepstream-test1
python3 deepstream_test_1.py /opt/nvidia/deepstream/deepstream/samples/streams/sample_720p.h264
六、运行预编译的 sample
应用
6.1 (可选)删除 GStreamer
缓存
rm ${HOME}/.cache/gstreamer-1.0/registry.x86_64.bin
请查看 README.md
文档: sources/apps/sample_apps
标签:DeepStream,deepstream,教程,app,sudo,nvidia,安装 来源: https://blog.csdn.net/m0_37605642/article/details/122648297