DeepStream5.0+ubuntu18.04+Cuda10.2+cudnn7.6.5+tf1.14+numpy1.16

本文详细介绍了一套深度流媒体处理环境的搭建流程,包括GCC安装、显卡驱动及CUDA/CuDNN配置、DeepStream SDK解压与安装、TensorRT安装、librdkafka和OpenCV安装等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装教程参考: ZONG_XP

一、gcc等安装

sudo apt-get  install  build-essential  

二、显卡驱动以及cuda和cudnn

教程1
教程2
查看cuda版本:

cat  /usr/local/cuda/version.txt 

查看cudnn版本:

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2 

在这里插入图片描述
在这里插入图片描述
注意: 需要禁用原显卡驱动才可以安装新的驱动。
由于cuda包含了显卡驱动,所以禁用显卡驱动后可以直接安装cuda,此时默认全部勾选;
若提前装好了显卡驱动,则安装cuda时取消勾选driver
i.e. [x]Driver -> [ ]Driver
在这里插入图片描述

sudo rm -rf /usr/local/cuda-10.2/include/cudnn.h
sudo rm -rf /usr/local/cuda-10.2/lib64/libcudnn*
sudo cp include/cudnn.h /usr/local/cuda-10.2/include/
sudo cp lib64/lib* /usr/local/cuda-10.2/lib64/
sudo chmod a+r /usr/local/cuda-10.2/include/cudnn.h /usr/local/cuda-10.2/lib64/libcudnn*
 
cd /usr/local/cuda-10.2/targets/x86_64-linux/lib/
sudo ln -sf libcudnn.so.7.6.5 libcudnn.so.7

三、解压SDK

官网下载好之后解压

 sudo tar -jvxf deepstream_sdk_v5.0.0_x86_64.tbz2 -C /

注意: 必须要加-C / 解压到根目录下,否则执行./install.sh时会报错

安装依赖

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

sudo apt-get install libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio libgstrtspserver-1.0-dev gstreamer1.0-rtsp

sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev

sudo apt-get install libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev libgstrtspserver-1.0-dev libx11-dev libgstrtspserver-1.0-dev gstreamer1.0-rtsp ffmpeg

四、安装TensorRT

1.安装uff所需要的tensorflow-gpu

由于cuda是10.2,在官方对应表中只支持tensorflow2.0+,然而deepstream只支持tensorflow1,尝试过后发现tensorflow1.14可以完美兼容

pip install tensorflow-gpu==1.14

但是cuda10对tf1.14的兼容有一点问题,直接导入会出现以下错误:
在这里插入图片描述
此时可以通过降级numpy到1.16来解决

pip install numpy==1.16

此时问题解决
在这里插入图片描述

2.安装TensorRT

TensorRT安装教程
使用python的cuda需要安装这个

pip install 'pycuda>=2017.1.1'

出错的话看看这个
TensorRT下载网址
下载完解压

tar xzvf TensorRT-7.0.0.11.Ubuntu-18.04.x86_64-gnu.cuda-10.2.cudnn7.6.tar.gz

添加到环境变量

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/kuangping/TensorRT/TensorRT-7.0.0.11/lib

进入TensorRT目录,安装以下三个包

#安装TensorRT
cd TensorRT-7.0.0.11/python
pip install tensorrt-7.0.0.11-cp37-none-linux_x86_64.whl
 
#安装UFF
cd TensorRT-7.0.0.11/uff
pip install uff-0.6.5-py2.py3-none-any.whl 

#安装graphsurgeon
cd TensorRT-5.0.2.6/graphsurgeon
pip install graphsurgeon-0.4.1-py2.py3-none-any.whl 

为了避免后边deepstream找不到tensorrt的库,建议把tensorrt的库和头文件添加到系统路径下

# TensorRT路径下
sudo cp -r ./lib/* /usr/lib
sudo cp -r ./include/* /usr/include

3.环境测试

使用python来测试安装的包能否导入

在这里插入图片描述

五、安装librdkafka

在新目录下

git clone https://github.com/edenhill/librdkafka.git
cd librdkafka
git reset --hard 7101c2310341ab3f4675fc565f64f0967e135a6a
./configure
make
sudo make install
sudo cp /usr/local/lib/librdkafka* /opt/nvidia/deepstream/deepstream-5.0/lib

六、安装OpenCV

这是所有安装步骤中最复杂,最容易出错,也最漫长的一步
参考链接
在新目录下

mkdir opencv
cd opencv
wget https://github.com/opencv/opencv/archive/3.4.0.zip -O opencv-3.4.0.zip
unzip opencv-3.4.0.zip
wget https://github.com/opencv/opencv_contrib/archive/3.4.0.zip -O opencv_contrib-3.4.0.zip
unzip opencv_contrib-3.4.0.zip 
cd opencv-3.4.0
mkdir build && cd build

下载过程有点慢,如果提前下好了所有的包则创建opencv目录,进入并将下载好的包丢进来,执行下面步骤即可

unzip opencv-3.4.0.zip
unzip opencv_contrib-3.4.0.zip 
cd opencv-3.4.0
mkdir build && cd build

然后cmake

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr -D BUILD_PNG=OFF -D BUILD_TIFF=OFF -D BUILD_TBB=OFF -D BUILD_JPEG=OFF -D BUILD_JASPER=OFF -D BUILD_ZLIB=OFF -D BUILD_EXAMPLES=OFF -D BUILD_opencv_java=OFF -D BUILD_opencv_python2=ON -D BUILD_opencv_python3=ON -D ENABLE_PRECOMPILED_HEADERS=OFF -D WITH_OPENCL=OFF -D WITH_OPENMP=OFF -D WITH_FFMPEG=ON -D WITH_GSTREAMER=ON -D WITH_CUDA=ON -D WITH_GTK=ON -D WITH_VTK=ON -D WITH_TBB=ON -D WITH_1394=OFF -D WITH_OPENEXR=OFF -D OPENCV_EXTRA_MODULES_PATH=/home/kuangping/opencv/opencv_contrib-3.4.0/modules -D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-10.2 -D CUDA_ARCH_BIN=**7.5**  -D INSTALL_C_EXAMPLES=ON -D INSTALL_TESTS=OFF ..

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr -D BUILD_PNG=OFF -D BUILD_TIFF=OFF -D BUILD_TBB=OFF -D BUILD_JPEG=OFF -D BUILD_JASPER=OFF -D BUILD_ZLIB=OFF -D BUILD_EXAMPLES=OFF -D BUILD_opencv_java=OFF -D BUILD_opencv_python2=ON -D BUILD_opencv_python3=ON -D ENABLE_PRECOMPILED_HEADERS=OFF -D WITH_OPENCL=OFF -D WITH_OPENMP=OFF -D WITH_FFMPEG=ON -D WITH_GSTREAMER=ON -D WITH_CUDA=ON -D WITH_GTK=ON -D WITH_VTK=ON -D WITH_TBB=ON -D WITH_1394=OFF -D WITH_OPENEXR=OFF -D OPENCV_EXTRA_MODULES_PATH=/home/kuangping/opencv/opencv_contrib-3.4.0/modules -D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-10.2 -D CUDA_ARCH_BIN=7.5 -D INSTALL_C_EXAMPLES=ON -D INSTALL_TESTS=OFF …

注意: 这里加粗的地方是自己需要修改的,修改成本机对应目录和版本
注意: 最后的OFF后面是 空格 两个.
markdown语法自动将两个.变成了…
如果未安装cmake则需要安装一下
在这里插入图片描述
然后make

make
sudo make install

注意: 这里不要make -j8 ,否则编译出错

安装完之后使用下边的指令查看安装情况

pkg-config --modversion opencv
pkg-config --cflags --libs opencv

1.dynlink_nvcuvid.h问题

cuda10不再提供dynlink_nvcuvid.h功能,修改opencv-3.4.0/modules/cudacodec/src目录下的文件

modules/cudacodec/src/precomp.hpp
modules/cudacodec/src/video_decoder.hpp
modules/cudacodec/src/video_parser.hpp
modules/cudacodec/src/cuvid_video_source.hpp
modules/cudacodec/src/frame_queue.hpp

#if CUDA_VERSION >= 9000
#include <dynlink_nvcuvid.h>
#else
#include <nvcuvid.h>
#endif

替换为

#if CUDA_VERSION >= 9000 && CUDA_VERSION < 10000
#include <dynlink_nvcuvid.h>
#else
#include <nvcuvid.h>
#endif

然后重新cmake,如果还不行,则去官网下载nvidia-sdk
然后解压

unzip Video_Codec_SDK_9.0.20

进入解压后目录的include,将以下文件拷贝一下

sudo cp cuviddec.h /usr/local/cuda/include
sudo cp nvcuvid.h /usr/local/cuda/include

最后重新cmake,然后make

2.boostdesc_bgm.i等问题

这是由于cmake的时候下载的包不完整
在stackoverflow上有人解答过,在此贴上

#!/bin/bash
cd ./cache/xfeatures2d/
cd boostdesc

curl https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_lbgm.i > 0ae0675534aa318d9668f2a179c2a052-boostdesc_lbgm.i
curl https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_binboost_256.i > e6dcfa9f647779eb1ce446a8d759b6ea-boostdesc_binboost_256.i
curl https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_binboost_128.i > 98ea99d399965c03d555cef3ea502a0b-boostdesc_binboost_128.i
curl https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_binboost_064.i > 202e1b3e9fec871b04da31f7f016679f-boostdesc_binboost_064.i
curl https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_bgm_hd.i > 324426a24fa56ad9c5b8e3e0b3e5303e-boostdesc_bgm_hd.i
curl https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_bgm_bi.i > 232c966b13651bd0e46a1497b0852191-boostdesc_bgm_bi.i
curl https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_bgm.i > 0ea90e7a8f3f7876d450e4149c97c74f-boostdesc_bgm.i
cd …/vgg
curl https://raw.githubusercontent.com/opencv/opencv_3rdparty/fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d/vgg_generated_120.i > 151805e03568c9f490a5e3a872777b75-vgg_generated_120.i
curl https://raw.githubusercontent.com/opencv/opencv_3rdparty/fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d/vgg_generated_64.i > 7126a5d9a8884ebca5aea5d63d677225-vgg_generated_64.i
curl https://raw.githubusercontent.com/opencv/opencv_3rdparty/fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d/vgg_generated_48.i > e8d0dcd54d1bcfdc29203d011a797179-vgg_generated_48.i
curl https://raw.githubusercontent.com/opencv/opencv_3rdparty/fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d/vgg_generated_80.i > 7cd47228edec52b6d82f46511af325c5-vgg_generated_80.i

缺什么下什么,然后拷贝到opencv_contrib/modules/xfeatures2d/src路径即可。

七、安装deepstream

进入解压的目录并安装

cd /opt/nvidia/deepstream/deepstream-5.0/
sudo ./install.sh
sudo ldconfig

安装完成后输入以下命令查看安装情况

deepstream-app --version-all

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值