第二篇:DeepStream 安装和配置(Ubuntu-独立显卡篇)

  一、导言

                                                                                   ..;fxxx?.
                                                                                .^1xf;.  .fn.
                                                                               .jx:.      .r.
                                                                             .fj '       .?n.
                                                                            'f) .     ..trf`.
                         .'.'                                              >x.      !xn} .
                        :r';"                                             }j     .`x)'
             .       ..rx ..j.                                          .)x..   .fx`.
          .rux.    . fn.  ..n`                                          .x` .  .jf
          .n.tj..  .f{.    .x.                                        .'x^    'ff.
          /j. nurc1-..     ./f/ .                                      :r.    :r.
          fl.zcJJJJY        ...!j1                                    .j!    .x..
          fczJJJJJJU           . in~.                                 .x..  .\j
        . xXJJYCJUJC              .fx.                               .>j   .'n.
        .jYJJCli!?!i..             .jr.                              .xj  ..rj.
       ./XJJJJi!!!!i!               .jf'                             .n'   .x'
       'cJJJJLi!!!!i.                'n^.                            .x.   jt.
       tzJJU!!!!!i!.                  'tjf(.   '.^)jrrrrx|; .       'x'. .;n.
      'nYJJQii`iii                      .`|..nnzzzJCJUUJJU[rnux/ ..lr".  ln .
      .nJJL.     l.                     .j<zcJJJJUJJJJJJC!!!!iilnv\    .\n..
       nn`      ,vr.                  ../tYJJJJJJJJJililli!!!!!!i>jf...nj .
      .n.      .jn.                   ..}.YCJJUCJCJ!!!!!!!!!!!!!!!!I'zx .
       xl.       ..                  .'t...i!!!tJJ!!!!!!!!!!!!!!!!!!..fj..
      .x\.'      `)(+. . .            f   .i!!!i .!!!!!!!!!!i:.i!!!!  . x^.
      .j .j        ;<; ..           .t" .  .. .' ..`i'!;"'.^'  .'l;...   x~.
     .j...t.       '    ..       .../                                   ..x'.
      /f..-        .`t..         .).      日期: 20240116                  ,r.
      .xj             .-       '..                                        'x
       . xj..                                                              j.
          'txxj~ ^.                                                     ...?xrrr`'
             .'.`ff/..            二狗大爷出品  MEOW!              ..   .!!!!!,.`jt.
                 .^|f'.                                         .UJJJJc!!!!!!i. .fr..
                 .t' x:.                                       .UJJJJJ!i!!!!!!I  . xr.
              .'f[.  .j\.....                                   JJJJJJJ!X>!!!i.    .^fx..
             .,r      .:j!/.          '..                   .../\YJJJJJJJCv!l'....     f.
           . j).       .<r           ./t^              . .!rvxf. ixzcXXYUYzcr^>xncx}'.?j.
          .)r.        .vt'         .~n-..... ."~\jjxnxxxxfI'      .. .  .  .    .'. I?;.
         .xI.     .')nX,.        ',xj...'l_]_<".....
       `j/ .   ..<rxrr..       ..nr.
     .\j..   ..jrl\n..       .>xj.'
   \jf.    .jnj..j\'.     ../xf'.
   t'. '.]xn. `rx        .xn-.
   .{^+tj.. .rx'     ..tnx...
          /f'..    '{xj
          "jl.  .~jj..
           ..)))"..
  • 本专栏介绍从0开始学习DeepStream的主要内容,学习的思维导图如下:

  • DeepStream SDK学习历程

    • 第一篇:DeepStream入门

      • 概述

        • SDK是什么

        • 特点和优势

      • 支持的平台和语言

      • 基础概念

      • 架构和模块

    • 第二篇:DeepStream安装和配置(Ubuntu-独立显卡篇)

      • 环境依赖

      • 依赖项安装

      • 基础环境安装

      • 深度学习环境配置

      • 运行sample

      • 平台和系统兼容性

  • NVIDIA (®) DeepStream 软件开发套件 (SDK) 是一个加速 AI 框架,用于构建智能视频分析 (IVA) 管道。DeepStream 在 NVIDIA® (T4)、NVIDIA® Hopper、NVIDIA® (Ampere)、NVIDIA® (ADA以及)(NVIDIA®) Jetson AGX Orin™、NVIDIA® (Jetson)

  • Orin™ NX、NVIDIA® (Jetson) Orin™ Nano 等平台上运行。

 

  二、环境依赖

        本节介绍如何在安装 DeepStream SDK 之前准备具有 NVIDIA dGPU 设备的系统。Ubuntu x86_64

本文档使用术语 dGPU(“独立 GPU”)来指代 NVIDIA GPU 扩展卡产品,例如 NVIDIA Tesla® (T4)、NVIDIA® Hopper、NVIDIA® (Ampere)、NVIDIA® (ADA)、NVIDIA GeForce® (GTX) 1080、NVIDIA GeForce® (RTX) 2080 、NVIDIA GeForce® (RTX) 3080、NVIDIA GeForce® (RTX) 4080 和 GeForce® (/) NVIDIA RTX/QUADRO。此版本的 DeepStream SDK 在 NVIDIA 驱动程序 535.104.12 和 NVIDIA TensorRT™ 8.6.1.6 及更高版本支持的 GPU 上运行。

  必须的组件和环境:

  • Ubuntu22.04

  • GStreamer 1.20.3

  • NVIDIA 驱动程序 535.104.12

  • CUDA 12.2

  • TensorRT 8.6.1.6

  删除所有以前的DeepStream 安装(3.0<现有版本<4.0的可pass此步骤)

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

2. DeepStream 4.0 或更高版本的

在路径/opt/nvidia/deepstream/deepstream/下,打开uninstall.sh 将 PREV_DS_VER 设置为 4.0 运行以下脚本sudo ./uninstall.sh

  三、基础依赖项安装

  首要安装第三方包如下:

$ sudo apt install \

libssl3 \

libssl-dev \

libgstreamer1.0-0 \

gstreamer1.0-tools \

gstreamer1.0-plugins-good \

gstreamer1.0-plugins-bad \

gstreamer1.0-plugins-ugly \

gstreamer1.0-libav \

libgstreamer-plugins-base1.0-dev \

libgstrtspserver-1.0-0 \

libjansson4 \

libyaml-cpp-dev \

libjsoncpp-dev \

protobuf-compiler \

gcc \

make \

git \

python3

有时,对于 RTSP 流,应用程序会在到达 EOS 时陷入困境。这是因为 rtpjitterbuffer 组件存在问题。为了解决此问题,已提供脚本“update_rtpmanager.sh”,其中/opt/nvidia/deepstream/deepstream/包含更新 gstrtpmanager 库所需的详细信息。作为先决条件安装上述软件包后,应执行该脚本。

有时,在运行 gstreamer pipeline 或示例应用程序时,用户可能会遇到错误:该问题是由于 ubuntu22.04 默认附带的 glib 2.0-2.72 版本中的错误引起的。该问题已在 glib2.76 中得到解决,需要安装它才能解决该问题(https://github.com/GNOME/glib/tree/2.76.6)。GLib (gthread-posix.c): Unexpected error from C library during 'pthread_setspecific': Invalid argument. Aborting.

  四、基础环境安装(CUDA、英伟达驱动,如有可PASS)

1.  安装 CUDA 工具包 12.2

  运行以下命令(参考,https://developer.nvidia.com/cuda-downloads):

$ sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/3bf863cc.pub $ sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/ /" $ sudo apt-get update $ sudo apt-get install cuda-toolkit-12-2

如果在安装 CUDA 时发现以下错误,请参阅https://developer.nvidia.com/blog/updating-the-cuda-linux-gpg-repository-key/

W: GPG error: https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64 InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY A4B469963BF863CC

E: The repository 'https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64 InRelease' is no longer signed.

2.  安装 NVIDIA 驱动程序 535.104.12

$chmod 755 NVIDIA-Linux-x86_64-535.104.12.run $sudo ./NVIDIA-Linux-x86_64-535.104.12.run --no-cc-version-check

确保安装 nvidia 驱动程序时停止 gdm、lightdm 或 Xorg 服务

使用命令:sudo service gdm stop sudo service lightdm stop sudo pkill -9 Xorg

  如果有数量较多(200+)的视频流处理需求,请按照以下说明操作:

$ sudo service display-manager stop #Make sure no process is running on GPU i.e. Xorg or trition server etc

$ sudo pkill -9 Xorg #Remove kernel modules

$ sudo rmmod nvidia_drm nvidia_modeset nvidia #Load Modules with Regkeys

$ sudo modprobe nvidia NVreg_RegistryDwords="RMDebugOverridePerRunlistChannelRam = 1;RMIncreaseRsvdMemorySizeMB = 1024;RMDisableChIdIsolation = 0x1;RmGspFirmwareHeapSizeMB = 256"

$ sudo service display-manager start

  五、深度学习环境配置

        1. 安装 TensorRT 8.6.1.6

  运行以下命令安装 TensorRT 8.6.1.6:

sudo apt-get install libnvinfer8=8.6.1.6-1+cuda12.0 libnvinfer-plugin8=8.6.1.6-1+cuda12.0 libnvparsers8=8.6.1.6-1+cuda12.0 \ libnvonnxparsers8=8.6.1.6-1+cuda12.0 libnvinfer-bin=8.6.1.6-1+cuda12.0 libnvinfer-dev=8.6.1.6-1+cuda12.0 \ libnvinfer-plugin-dev=8.6.1.6-1+cuda12.0 libnvparsers-dev=8.6.1.6-1+cuda12.0 libnvonnxparsers-dev=8.6.1.6-1+cuda12.0 \ libnvinfer-samples=8.6.1.6-1+cuda12.0 libcudnn8=8.9.4.25-1+cuda12.2 libcudnn8-dev=8.9.4.25-1+cuda12.2

        2.  安装 librdkafka(为消息代理启用 Kafka 协议适配器)

  从 GitHub克隆librdkafka存储库:

$ git clone https://github.com/confluentinc/librdkafka.git

  配置并构建库:

$ cd librdkafka $ git checkout tags/v2.2.0 $ ./configure --enable-ssl $ make $ sudo make install

  将生成的库复制到deepstream目录中:

$ sudo mkdir -p /opt/nvidia/deepstream/deepstream-6.4/lib $ sudo cp /usr/local/lib/librdkafka* /opt/nvidia/deepstream/deepstream-6.4/lib $ sudo ldconfig

        3. 安装 DeepStream SDK

  方法 1:使用 DeepStream Debian 软件包

  下载 DeepStream 6.4 dGPU Debian 软件包deepstream-6.4_6.4.0-1_amd64.debhttps://catalog.ngc.nvidia.com/orgs/nvidia/resources/deepstream

  输入命令:

$ sudo apt-get install ./deepstream-6.4_6.4.0-1_amd64.deb

  方法2:下载DeepStream tar包:https://catalog.ngc.nvidia.com/orgs/nvidia/resources/deepstream

  导航到下载的 DeepStream 包的位置以提取并安装 DeepStream SDK:

$ sudo tar -xvf deepstream_sdk_v6.4.0_x86_64.tbz2 -C / $ cd /opt/nvidia/deepstream/deepstream-6.4/ $ sudo ./install.sh $ sudo ldconfig

  方法3:使用Docker容器

  NGC 上提供 DeepStream docker 容器。请参阅Docker 容器部分,了解如何使用 Docker 容器开发和部署 DeepStream。

  六、运行deepstream-app (参考应用)

进入示例路径,运行下列代码:

$ deepstream-app -c <path_to_config_file>

其中<path_to_config_file>是参考应用程序的配置文件之一的路径名,可在configs/deepstream-app. 有关可用文件的列表,请参阅包内容。

  七、运行预编译的示例应用程序

  1. 导航到 中所选的应用程序目录sources/apps/sample_apps

  2. 按照该目录的 README 文件运行该应用程序。

  八、远程运行(没有连接显示器),如何可视化

  1. 通过创建虚拟显示来运行 X 服务器

有关详细信息,请参阅https://docs.nvidia.com/grid/latest/grid-vgpu-user-guide/index.html#configuring-xorg-server-on-linux-server

  2. 无需X服务器运行(适用于支持RTSP流输出的应用程序)

SDK 提供的默认配置文件将基于 EGLnveglglessink作为默认渲染器(由 [sink] 组中的 type=2 表示)。渲染器需要一个正在运行的 X 服务器,如果没有它就会失败。如果没有 X 服务器,DeepStream 参考应用程序提供通过 RTSP 流式传输输出的替代功能。这可以通过在配置文件中添加 RTSP 输出接收器组来启用。有关示例,请参阅文件[sink2]中的组。source30_1080p_dec_infer-resnet_tiled_display_int8.txt不要忘记nveglglessink通过为相应接收器组设置enable=0来禁用渲染器。

  九、平台和操作系统兼容性

        

DeepStream Python 应用程序使用Gst-Python API 操作来构建管道,并使用探测函数来访问管道中各个点的数据。数据类型均采用本机 C 语言,需要通过PyBindings或 NumPy 的填充层才能从 Python 应用程序访问它们。张量数据是推理后得出的原始张量输出。如果您尝试检测对象,则需要通过解析和聚类算法对该张量数据进行后处理,以在检测到的对象周围创建边界框。要开始使用 Python,请参阅本指南中的Python 示例应用程序和绑定源详细信息以及 DeepStream Python API 指南中的“DeepStream Python” 。

  DeepStream Triton 推理服务器使用指南

要将 DeepStream 6.4 部署 (Triton 23.08) 中的 Triton 版本迁移到较新版本(例如 Triton 23.09 或更高版本),请按照DeepStream Triton 迁移指南中的说明进行操作。

  附录

https://docs-nvidia-com.translate.goog/metropolis/deepstream/dev-guide/text/DS_Quickstart.html?_x_tr_sl=auto&_x_tr_tl=zh-CN&_x_tr_hl=zh-CN

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值