Deepstream6.0-Jetpark4.6-yolov5-v6.0-tensorRT-Jetson-xavier-nx项目部署环境搭建

本文主要是介绍Deepstream6.0-Jetpark4.6-yolov5-v6.0-tensorRT-Jetson-xavier-nx项目部署环境搭建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 开机后,给root用户设置密码:

Jetback在4.6版本改动较多,对应的Deepstream也增加了python版本的插件

sudo passwd root

Root用户下python3的版本对应的应该是3.6.9
检测python版本:
python3 –V
如果需要固定版本,将软连接指向python3.6
输入Python3进入python环境
Import tensorrt然后回车检测是否安装的有trt

tensorRT安装

假如烧录后,检测是否存在trt的时候,发现环境中没有tensorrt需要自己安装,安装需要英伟达账号登录,连接地址 :
TensorRT7.2.3
https://developer.nvidia.com/compute/machine-learning/tensorrt/secure/7.2.3/tars/TensorRT-7.2.3.4.Ubuntu-18.04.x86_64-gnu.cuda-11.1.cudnn8.1.tar.gz
解压,将 TensorRT 库放到系统环境,然后安装 TensorRT python 接口:
cd /python
cd …/uff
pip install uff-0.6.9-py2.py3-none-any.whl

系统查看

#驱动版本

head -n 1 /etc/nv_tegra_release

#内核版本查看命令:uname -r
#操作系统查看命令:lsb_release -i -r
#CUDA版本查看命令:nvcc -V
#cuDNN版本查看命令:dpkg -l libcudnn8
#opencv版本查看命令:dpkg -l libopencv / pkg-config opencv --modversion
#Tensorrt版本查看:dpkg -l tensorrt

2. CUDA配置

将下载好的CUDA转移到Jetson,或者可检测以下Jetson是否内置了CUDA,大部分都已经是内置了只要配置一下环境变量即可。

vim ~/.bashrc

#在最后面添加

export PATH=/usr/local/cuda-10.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_ROOT=/usr/local/cuda

#刷新,让配置生效

Source ~/.bashrc

换源
#备份原有软件源

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo vi /etc/apt/sources.list 

#清华源

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main multiverse restricted universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main multiverse restricted universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main multiverse restricted universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main multiverse restricted universe

更新

sudo apt-get update

3. 安装pip3

sudo apt-get update
sudo apt-get install python3-pip python3-dev –y

4. 安装一些库和工具

sudo -H pip3 install jetson-stats
sudo apt-get install build-essential make cmake cmake-curses-gui -y
sudo apt-get install git g++ pkg-config curl -y
sudo apt-get install libatlas-base-dev gfortran libcanberra-gtk-module libcanberra-gtk3-module -y
sudo apt-get install nano locate screen –y
sudo apt-get install libfreetype6-dev -y
sudo apt-get install protobuf-compiler libprotobuf-dev openssl -y
sudo apt-get install libssl-dev libcurl4-openssl-dev -y
sudo apt-get install cython3 –y
sudo apt-get install build-essential -y
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev -y
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff5-dev libdc1394-22-dev -y
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev -y
sudo apt-get install libxvidcore-dev libx264-dev -y
sudo apt-get install libatlas-base-dev gfortran -y
sudo apt-get install ffmpeg -y
sudo apt-get install libopenmpi2
sudo apt-get install libopenblas-dev
sudo apt-get install libjpeg-dev zlib1g-dev
sudo apt-get install python-gi-dev

5. 安装CMake

wget http://www.cmake.org/files/v3.13/cmake-3.13.0.tar.gz
tar xpvf cmake-3.13.0.tar.gz cmake-3.13.0/ 
cd cmake-3.13.0/
./bootstrap --system-curl	
make -j4
echo 'export PATH=~/cmake-3.13.0/bin/:$PATH' >> ~/.bashrc
source ~/.bashrc 

6. 安装torch和tenchvision

将下载好的torch1.8 和torchvision0.9.0版本需要对应
Torch安装指令

Sudo pip3 install torch-1.8-0-cp36-cp36-m-linux_aarch64.whl
git clone --branch v0.9.0 https://github.com/pytorch/vision torchvision
cd torchvision	
export BUILD_VERSION=0.9.0
sudo python3 setup.py install	

检测是否安装成功

import torch
import torchvision
print(torch.__version__)
print(torchvision.__version__)

7. 安装yolov5需要的包

sudo pip3 install matplotlib==3.2.2
sudo pip3 install --upgrade Cython	
sudo apt-get remove python-numpy
sudo pip3 install numpy==1.19.4
sudo pip3 install scipy
sudo pip3 install tqdm==4.61.2
sudo pip3 install seaborn==0.11.1
sudo pip3 install scikit-build==0.11.1
sudo pip3 install opencv-python==4.5.3.56
sudo pip3 install tensorboard==2.5.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
sudo pip3 install PyYAML==5.4.1
sudo pip3 install thop
sudo pip3 install pycocotools

8. 安装Deepstream-JDK,Gstreamer

sudo apt-get install libhdf5-serial-dev hdf5-tools
sudo apt-get install zlib1g-dev zip libjpeg8-dev libhdf5-dev
sudo pip3 install -U grpcio absl-py py-cpuinfo psutil portpicker grpcio six mock requests gast h5py astor termcolor

tensorflow有需要再装,不需要可以先不做,时间要比较久#sudo pip3 install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v45 tensorflow-gpu --user

安装deepstream6.0

安装Deepstream-sdk6.0版本的,或者支持的Jetback的版本是4.6版本,如果是Jetback其他版本的话,检查需要是4.5或者4.5.1的版本,然后两个不同版本的代码还有轻微的区别,Deepstream6.0的版本增加了python的一些插件,和更改了追踪器的使用方法,具体可以阅读,英伟达的说明文档,接下来先说明安装Jetback4.6 + Deepstream-sdk6.0的 版本,也是比较新的,最近更新就在两个月前。
JetBack 4.6 Deepstream-sdk 6.0版本
版本需求:
Jetson Xavier Nx Ubuntu 18.04
Gstreamer 1.0
CUDA = 10.2
TensorRT = 8.0.1

$ 安装相关依赖
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
$安装librdkafka

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

$安装SDK

方法一:使用Debian安装
下载 deepstream-6.0_6.0.0-1_amd64.deb Debian 包地址:
https://developer.nvidia.com/deepstream-6.0_6.0.0-1_amd64deb
执行命令安装: sudo apt-get install ./deepstream-6.0_6.0.0-1_amd64.deb
方法二:使用源码安装
下载Deepstream源码包,
https://developer.nvidia.com/deepstream_sdk_v6.0.0_x86_64tbz2
sudo tar -xvf deepstream_sdk_v6.0.0_x86_64.tbz2 -C /
cd /opt/nvidia/deepstream/deepstream-6.0/
sudo ./install.sh
sudo ldconfig
验证是否安装成功
which deepstream-app
能定位到 deepstream-app 一般就成功了,然后可以用 deepstram-app 执行一些 samples,基本命令如下:
deepstream-app -c <path_to_config_file>

#安装 Gstreamer
sudo apt-get install libgstrtspserver-1.0-0 gstreamer1.0-rtsp
sudo apt-get install libgirepository1.0-dev
sudo apt-get install gobject-introspection gir1.2-gst-rtsp-server-1.0
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 libssl1.0.0 libgstrtspserver-1.0-0 libjansson4
检查是否安装成功:
dpkg -l | grep gstreamer
安装一下 python 接口:
sudo apt update
sudo apt install python3-gi python3-dev python3-gst-1.0 -y
下载deepstream _python_apps
cd /opt/nvidia/deepstream/deepstream/sources
sudo git clone https://github.com/NVIDIA-AI-IOT/deepstream_python_apps

安装些依赖

sudo apt install -y git python-dev python3 python3-pip python3.6-dev python3.8-dev \
cmake g++ build-essential libglib2.0-dev libglib2.0-dev-bin \
python-gi-dev libtool m4 autoconf automake
cd /opt/nvidia/deepstream/deepstream/sources/deepstream_python_apps/
git submodule update –init       (初始化,会在3rt…的文件中下载pybinds和gst-python)
下载gst-python
cd /opt/nvidia/deepstream/deepstream/sources/deepstream_python_apps/3rdparty

sudo ./autogen.sh 这里很容易连接不上网络,但是就是下载一个common的文件,可以使用其他的方法代替掉,把当前目录下面的common文件夹删除掉,然后克隆https://github.com/GStreamer/common.git
然后执行 sudo ./autogen.sh
sudo make –j4
sudo make install
然后安装pyds包
cd /opt/nvidia/deepstream/deepstream/sources/deepstream_python_apps/bindings
sudo mkdir build
cd build
sudo cmake … -DPYTHON_MAJOR_VERSION=3 -DPYTHON_MINOR_VERSION=6 -DPIP_PLATFORM=linux_aarch64 -DDS_PATH=/opt/nvidia/deepstream/deepstream-6.0/
sudo make –j4
编译成功截图
在这里插入图片描述
然后安装生成的pyds 的whl包
cd /opt/nvidia/deepstream/deepstream/sources/deepstream_python_apps/bindings/build/
sudo pip3 install ./ pyds-1.1.0-py3-none*.whl

如果遇到pip版本问题if you report an error here, please pip3 to the latest version.

python3 -m pip install --upgrade pip
这里python的一些接口安装完毕了可以运行一个案例进行测试

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
接下来生成部署代码。
Deepstream6.0的需要用这个代码去生成engine文件
首先克隆yolov5和tensorrt项目
cd /opt/nvidia/deepstream/deepstream-6.0/source/deepstream-python-apps/apps/
克隆YOLOV5项目:git clone https://github.com/ultralytics/yolov5.git

克隆项目git clone https://github.com/marcoslucianops/DeepStream-Yolo.git
进入项目cd Deepstream-Yolo
Jetson平台编译:
CUDA_VER=10.2 make -C nvdsinfer_custom_impl_Yolo
转移自己的权重文件这里以yolov5s.pt为例
python3 gen_wts_yoloV5.py -w yolov5s.pt 这个可以生成cfg和wts文件

编辑配置文件:sudo vim config_infer_primary_yoloV5.txt
配置文件内容如下
[property]
gpu-id=0
net-scale-factor=0.0039215697906911373
model-color-format=0
custom-network-config=yolov5s.cfg ###这个需要修改 自己训练的使用使用的是哪个就把那个cfg文件拷贝过来,配置cfg下载地址https://github.com/enazoe/yolo-tensorrt/tree/TRT8/configs/yolov5-6.0
model-file=yolov5s.wts #
#model-engine-file=niaodao_best.engine
#int8-calib-file=calib.table
labelfile-path=label.txt
batch-size=1
network-mode=0
num-detected-classes=80
interval=0
gie-unique-id=1
process-mode=1
network-type=0
cluster-mode=4
maintain-aspect-ratio=1
parse-bbox-func-name=NvDsInferParseYolo
custom-lib-path=nvdsinfer_custom_impl_Yolo/libnvdsinfer_custom_impl_Yolo.so
engine-create-func-name=NvDsInferYoloCudaEngineGet

[class-attrs-all]
pre-cluster-threshold=0.25
~
这个是配置文件。标黄的位置是需要动态修改的
然后执行测试运行deepstream-app –c deepstream_app_config.txt
运行会先生存engine 文件, 然后出效果。

自己的代码逻辑,需要根据自己的需求去完成

9. 风扇控制(板子过热会导致网络连接不稳定,可以手动开启风扇)

echo 255 > /sys/devices/pwm-fan/target_pwm #0:表示关闭风扇 0-255可选,

运行后可以通过VLC等软件进行播放播放网络串流rtsp://192.168.1.62:8554/ds-test
远程运行项目的时候会遇到
在这里插入图片描述
需要在~/.bashrc 的后面加上
在这里插入图片描述

从命令行模式切换成桌面模式的命令

sudo systemctl set-default graphical.target

这篇关于Deepstream6.0-Jetpark4.6-yolov5-v6.0-tensorRT-Jetson-xavier-nx项目部署环境搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/475904

相关文章

深度解析Java项目中包和包之间的联系

《深度解析Java项目中包和包之间的联系》文章浏览阅读850次,点赞13次,收藏8次。本文详细介绍了Java分层架构中的几个关键包:DTO、Controller、Service和Mapper。_jav... 目录前言一、各大包1.DTO1.1、DTO的核心用途1.2. DTO与实体类(Entity)的区别1

SQLite3 在嵌入式C环境中存储音频/视频文件的最优方案

《SQLite3在嵌入式C环境中存储音频/视频文件的最优方案》本文探讨了SQLite3在嵌入式C环境中存储音视频文件的优化方案,推荐采用文件路径存储结合元数据管理,兼顾效率与资源限制,小文件可使用B... 目录SQLite3 在嵌入式C环境中存储音频/视频文件的专业方案一、存储策略选择1. 直接存储 vs

如何在Spring Boot项目中集成MQTT协议

《如何在SpringBoot项目中集成MQTT协议》本文介绍在SpringBoot中集成MQTT的步骤,包括安装Broker、添加EclipsePaho依赖、配置连接参数、实现消息发布订阅、测试接口... 目录1. 准备工作2. 引入依赖3. 配置MQTT连接4. 创建MQTT配置类5. 实现消息发布与订阅

springboot项目打jar制作成镜像并指定配置文件位置方式

《springboot项目打jar制作成镜像并指定配置文件位置方式》:本文主要介绍springboot项目打jar制作成镜像并指定配置文件位置方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录一、上传jar到服务器二、编写dockerfile三、新建对应配置文件所存放的数据卷目录四、将配置文

怎么用idea创建一个SpringBoot项目

《怎么用idea创建一个SpringBoot项目》本文介绍了在IDEA中创建SpringBoot项目的步骤,包括环境准备(JDK1.8+、Maven3.2.5+)、使用SpringInitializr... 目录如何在idea中创建一个SpringBoot项目环境准备1.1打开IDEA,点击New新建一个项

如何使用Haporxy搭建Web群集

《如何使用Haporxy搭建Web群集》Haproxy是目前比较流行的一种群集调度工具,同类群集调度工具有很多如LVS和Nginx,本案例介绍使用Haproxy及Nginx搭建一套Web群集,感兴趣的... 目录一、案例分析1.案例概述2.案例前置知识点2.1 HTTP请求2.2 负载均衡常用调度算法 2.

springboot项目中整合高德地图的实践

《springboot项目中整合高德地图的实践》:本文主要介绍springboot项目中整合高德地图的实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一:高德开放平台的使用二:创建数据库(我是用的是mysql)三:Springboot所需的依赖(根据你的需求再

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

python常见环境管理工具超全解析

《python常见环境管理工具超全解析》在Python开发中,管理多个项目及其依赖项通常是一个挑战,下面:本文主要介绍python常见环境管理工具的相关资料,文中通过代码介绍的非常详细,需要的朋友... 目录1. conda2. pip3. uvuv 工具自动创建和管理环境的特点4. setup.py5.

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关