Ubuntu20.04下DeepStream Python环境安装

引子

  最近工作学习中遇到多路视频解码抽帧的需求,考虑到项目上大多数用到的都是Nvidia的显卡,常规CPU软解显然无法满足多路的需求,故考虑使用N卡的硬解码功能。然后我就毫不犹豫的去找轮子了,ChatGPT这么火,那就先问问它吧。嗯,呃,貌似下图红框里答案只有那么一点点靠谱(不要问我为啥用ChatGPT3.5,别问,问,就是穷),但...... 好吧,还是Google靠谱,了解到 “DeepStream是一套数据流分析工具包,DeepStream应用程序框架具有硬件加速构建块,可将深层神经网络和其他复杂处理任务带入流处理管道。开发者只需专注于构建核心深度学习网络和IP,而不是从头开始设计端到端解决方案。” 官方的这段话,可以说明DeepStream对算法工程师很贴心的。那么最后一个问题,为什么要选择python环境安装,很简单,人生苦短,我选python。OK,那就让我们开始吧!

一、机器配置

电脑:台式机

系统:Ubuntu 20.04.1

显卡:RTX 2060,6G显存

软件版本:

(1)deepstream:6.1.1

(2)显卡驱动版本:515.86

(3)CUDA版本:11.7.1

(4)cudnn版本:8.6.0

(5)TensorRT版本:8.4.3.1

二、安装教程

(所有的安装步骤都可以参考官方的教程:Quickstart Guide — DeepStream 6.1.1 Release documentation

1、软件对应版本要求

注意对应安装软件的系统版本要与deepstream要求的对应,可参考以下这张图:

0

2、安装

(1)安装显卡驱动

a、下载安装包

Linux AMD64 Display Driver Archive | NVIDIA

b、运行如下指令

在安装驱动之前,可能会遇到缺少gcc的情况,这里先安装一些依赖库,执行如下指令:

sudo apt-get update

sudo apt-get install build-essential

再安装驱动文件,执行以下命令:

chmod +x NVIDIA-Linux-x86_64-515.76.run

sudo sh ./ NVIDIA-Linux-x86_64-515.76.run -no-x-check

之后就一直按enter选择默认选项,安装成功后,用nvidia-smi指令查看是否安装完成:

nvidia-smi

0

(2)安装NVIDIA Container Toolkit

a、配置源

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)

curl -s -L https://nvidia.github.io/libnvidia-container/gpgkey | sudo apt-key add -

curl -s -L NVIDIA Container Toolkit repository | libnvidia-container$distribution/libnvidia-container.list | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

b、安装NVIDIA Container Toolkit

sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit

c、验证

systemctl restart docker

docker run --rm -it --gpus all -v /home/nick/DeepStream:/workspace linewell_deepstream:v1.0 /bin/bash

sudo su

nvidia-smi

0

(3)安装CUDA

a、下载安装包(我这里最后用的是 cuda_11.7.1_515.65.01_linux.run)

CUDA Toolkit Archive | NVIDIA Developer

b、运行如下指令进行安装

apt-get install libxml2

chmod +x cuda_11.7.1_515.65.01_linux.run

sudo sh ./cuda_11.7.1_515.65.01_linux.run

刚开始时间有一点点久,之后会弹出以下窗口,选择Continue:

再输入accept:

在下一步中,因为已经安装完了驱动了,这里我只选择安装了CUDA Toolkit 11.7,如下图所示:

然后选确定,往下安装即可。

c、添加环境变量

打开~/.bashrc,在文件末尾把cuda的路径添加进去,如下所示:

0

source ~/.bashrc

nvcc -V

0

(4)安装cudnn

a、下载安装包

cuDNN Archive | NVIDIA Developer

b、解压/复制文件

解压tar包

tar -xvf cudnn-linux-x86_64-8.6.0.163_cuda11-archive.tar.xz

把cudnn/include的头文件复制到cuda的include路径

cp cudnn-linux-x86_64-8.6.0.163_cuda11-archive/include/* /usr/local/cuda-11.7/include/

把cudnn/lib的文件复制到cuda的lib路径

cp cudnn-linux-x86_64-8.6.0.163_cuda11-archive/lib/* /usr/local/cuda-11.7/lib64/

(5)安装DeepStream依赖

sudo apt install libssl1.1 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 gcc make git python3

(6)安装TensorRT

a、下载安装包

Log in | NVIDIA Developer

b、解压并添加路径

cd /home/nick/DeepStream/soft/

tar -xvf TensorRT-8.4.3.1.Linux.x86_64-gnu.cuda-11.6.cudnn8.4.tar.gz

0

source ~/.bashrc

(7)安装DeepStream SDK

a、下载

Log in | NVIDIA Developer

b、安装

apt-get install libjson-glib-1.0-0

tar -xvf deepstream_sdk_v6.1.1_x86_64.tbz2 -C /

cd /opt/nvidia/deepstream/deepstream-6.1/

sudo ./install.sh

sudo ldconfig

可能会遇到的问题:

/usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8 is not a symbolic link

解决方法参考:/usr/local/cuda-11.0/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8 is not a symbolic link解决方法-CSDN博客

(8)运行示例

切换到deepstream的示例config路径

切换到:/opt/nvidia/deepstream/deepstream/samples/configs/deepstream-app

cd /opt/nvidia/deepstream/deepstream/samples/configs/deepstream-app

运行如下指令进行测试

设置不显示

vi source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8.txt

0

deepstream-app -c source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8.txt

0

显存使用

0

三、Python接口使用

1、下载拷贝代码

cd /opt/nvidia/deepstream/deepstream/sources

cp /workspace/deepstream_python_apps-1.1.4.zip ./

unzip deepstream_python_apps-1.1.4.zip

mv deepstream_python_apps-1.1.4 deepstream_python_apps

2、安装依赖

apt install libcairo2-dev

apt-get install gir1.2-gst-rtsp-server-1.0

3、安装python app包

下载whl

Releases · NVIDIA-AI-IOT/deepstream_python_apps · GitHub

cd /home/nick/DeepStream/soft/

pip install pyds-1.1.4-py3-none-linux_x86_64.whl

0

3、测试

(1)本地文件读取

cd /opt/nvidia/deepstream/deepstream/sources/deepstream_python_apps/apps/deepstream-test3

python deepstream_test_3.py -i file:///home/nick/DeepStream/sample_1080p_h264.mp4 --no-display -s

0

0

(2)rtsp读取

python3 deepstream_test_3.py -i rtsp://xxxxxxxxxxxxx/Streaming/Channels/1 --no-display -s

0

(3)图片保存

cd /opt/nvidia/deepstream/deepstream/sources/deepstream_python_apps/apps/deepstream-imagedata-multistream

python3 deepstream_imagedata-multistream.py file:///home/nick/DeepStream/sample_1080p_h264.mp4 frames

cd /opt/nvidia/deepstream/deepstream/sources/deepstream_python_apps/apps/deepstream-getframe

 四、Docker镜像安装

  读到这里的一定有同学说,干嘛这么麻烦,直接英伟达网站上拉取官方镜像不就完了( docker pull nvcr.io/nvidia/deepstream:6.1-samples),那我建议这个同学去试试看...... 好吧,因为qiang的原因,其实这样子是拉不到官方镜像的,我的梯子搭过去,依然网络不稳定(这就不知道是梯子问题,还是官网的问题了),拉不完整......

  那么,如果为了方便部署,只有自己镜像里安装这个了。这里注意下,我在镜像容器中按照二中的安装教程安装了一遍后,在执行python接口的时候依然有如下报错,看报错信息 ,应该是有些库没有找到,那么,只要把宿主机中/usr/lib/x86_64-linux-gnu目录拷贝到容器中即可。

  • 28
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
Ubuntu 20.04.6上安装Python环境可以按照以下步骤进行操作: 1. 首先,确保系统中已经安装Python解释器。可以在命令窗口中输入`python3`来检查是否已经安装。如果没有安装,可以使用以下命令安装Python解释器:`sudo apt install python3`。\[2\] 2. 如果需要安装pip指令,可以使用以下命令进行安装:`sudo apt install python3-pip`。\[2\] 3. 如果你想安装特定版本的Python,你可以从Python官网的Python Downloads页面下载对应版本的安装包文件。比如,如果你想安装Python 3.10.4,你可以使用以下命令下载安装包文件:`wget https://www.python.org/ftp/python/3.10.4/Python-3.10.4.tgz`。\[3\] 4. 下载完成后,解压缩安装包文件。可以使用以下命令进行解压缩:`tar -xvf Python-3.10.4.tgz`。 5. 进入解压后的目录:`cd Python-3.10.4`。 6. 配置和编译Python。可以使用以下命令进行配置和编译:`./configure`,然后使用`make`命令进行编译。 7. 安装Python。使用以下命令进行安装:`sudo make install`。 8. 安装完成后,可以使用`python3.10`命令来启动Python 3.10.4版本的解释器。 请注意,安装Python环境需要具有管理员权限,因此在命令前面加上`sudo`以获取管理员权限。另外,根据你的需求选择安装特定版本的Python或者使用系统自带的Python解释器。 #### 引用[.reference_title] - *1* [ubuntun-20.04 安装 python3.8](https://blog.csdn.net/Deng872347348/article/details/126874556)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [ubuntu20.04软件安装和配置python环境](https://blog.csdn.net/m0_61514269/article/details/126872471)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Ubuntu20.04 安装 Python 3.10](https://blog.csdn.net/weixin_44772835/article/details/128891402)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

要养家的程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值