ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

DeepStream教程

2022-01-26 22:35:49  阅读:593  来源: 互联网

标签:DeepStream deepstream 教程 app sudo nvidia 安装


一、参考资料

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 重要说明

  1. DeepStream 5.1 如何迁移到 DeepStream 6.0,参考: Readme First
  2. C++例程:DS_C_Sample_Apps
  3. python例程:DS_Python_Sample_Apps
  4. 更多的例程,请参阅 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之后的版本

  1. 打开 /opt/nvidia/deepstream/deepstream/ 路径中的 uninstall.sh 文件;
  2. 设置 PREV_DS_VER as 4.0
  3. 运行 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,deepstream,教程,app,sudo,nvidia,安装
来源: https://blog.csdn.net/m0_37605642/article/details/122648297

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有