DeepStream教程
2022/1/26 23:08:36
本文主要是介绍DeepStream教程,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、参考资料
DeepStream SDK 官方文档DeepStream 6.0 Release Notes
DeepStream SDK Development Guide
DeepStream SDK API Reference
DeepStream Plugin Manual
DeepStream Python API
二、相关介绍
NVIDIA DeepStream概述
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
参考博客:Ubuntu下CUDA的安装及配置(run方式)
3.5 安装tensorRT
注意版本对齐:
- DeepStream 6.x 对应 tensorRT 7.x;
- DeepStream 5.x 对应 tensorRT 8.x;
参考博客:【Ubuntu版】TensorRT安装教程
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教程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16ShardingSphere 如何完美驾驭分布式事务与 XA 协议?
- 2024-11-16ShardingSphere如何轻松驾驭Seata柔性分布式事务?
- 2024-11-16Maven资料入门指南
- 2024-11-16Maven资料入门教程
- 2024-11-16MyBatis Plus资料:新手入门教程与实践指南
- 2024-11-16MyBatis-Plus资料入门教程:快速上手指南
- 2024-11-16Mybatis资料入门教程:新手必看指南
- 2024-11-16MyBatis资料详解:新手入门与初级实战指南
- 2024-11-16MyBatisPlus资料:初学者入门指南与实用教程
- 2024-11-16MybatisPlus资料详解:初学者入门指南