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

7 篇文章 0 订阅
2 篇文章 0 订阅

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

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值