NVIDIA Jetson AGX Xavier配置deepstream 5.0环境并部署yolov5进行目标检测
-
- 一、Xavier Jetpack4.5系系统运维工作内容统及deepstreamdefine()翻译 5.0烧写
-
- 官方步骤
- 准备
- 上位机安装sdkmanagdefine()propertyer
- 启动sdkmanager
- 2:连接
- 正式刷机
- 参考
- 操作系统
- TensorRT
-
- 2.1 Jetsopython代码画樱花n Xavier安装pytorch 1.6.0和torchvision0.7.0
definex是什么牌子2.1.1、whl文件安装pytorch2.1.2、安装torchvision2系统运维工程师.1.3、测试是否安装成功2.1.4、可能遇到的问题
-
- 问题1:NVIDIAdefineproperty JETSON Xavier 安装 pytorlinux重启命令chlinux命令 出现错误:impor三维目标检测t torch 出现 Illegal instruction(core dum运动目标检测p人工智能专业ed)
- 问题2:出现问题:
- 2.1.python下载5、参考:目标检测
- 2.2、转换模型代码下载
-
- 一、下载代码
- 二、下载预训练模型——可以换成你自己的模型
- 三、 在yolov5将yolov5的.pt模型转换成 .wts格式
- 三、在Yolov5-in-Deepstream-5.0中将define名词wts文linux命令件转换为TensorRT模型
- 三、ddeepstr人工智能eam中yolo v5部署进行目标检测
一、Xavier Jetpack4.5系统运维工程师系统及deepstream 5.0烧写
我们使用英伟达官方提供linux系统的SDKmanager进行基本开发环境的配置。
在你使用开发套件之前,你需要define()安装 JetPack。你需要一套 Linux 系统的主机去
运行 JetPack 安装器, 然后对你的开发套件刷机。
Linux 主机的defineproperty最低系统要求: ubunt新目标检测u Linux x64 v16.04 或 v18.04, 可以联网、至少
23GB 的硬盘空间。
JetPack 的安装步骤如下:linux系统安装
-
- 下载 JetPack 到你的 Linux 主机。
- 连接开发套件和 Linux 主机。
- 将开发套件至于强制恢复模式。
- 运行 Jetpython怎么读Pack 安装器并选择想要的组件。
官方步骤
https://docs.nvidia.com/sdk-manager/install-with-sdkm-jetson/index.htmldefine用法
准备
一台上位机ubuntu16或者18
一台NVIDIA Jetson AGX Xavier
上位机安装sdkmanager
下载sdkmanager,linux是什么操作系统我下载最新的sdkmanag目标检测算法er_1.4.0-7363_amd64.deb地址为:
需人工智能专业要账户登录并下载,这个账户后面还要用,是必须要的。
提前准备一台机器,笔记本或台式机,我们暂称之为上位机,在上位linux系统安装机中安装(Ubuntu18.04-LTS 8G内存需求,若虚拟机请将磁盘容量至linux常用命令少设置在60G以上,内存8G),sdkmanager,系统运维工作内容命令:
$ sudo apt install ./sdkmanager_1.4.0-7363_amlinux常用命令d64.deb
启动sdkmanager
sdkmanager
2:连接
将Host与Xavier之间通过网线接到同一台交换机上,然后再通过USB进行连接。注意:主机和从机网段设人工智能换脸鞠婧祎郑爽置相同。之人工智能专业后利用lsusb命令查看是否已经将Xavier与主机连到一起了,如果命令行出现NVIDIA Corp,证明已经连接,可以开始刷机了
选择好你要下载的Xavier jet人工智能电影pack 4.5。
比如,我即将安装的JetPacklinux删除文件命令4.5的主要软件包版本如小目标检测下:
Cuda=10.2
Cudnn=8.0
Tedefine在c语言中是什么意思nsorRT=7.1
OpenCpython123V=4.4.1
一般使用默认地址人工智能换脸鞠婧祎郑爽即可,选择 I accept,然后点击Continue,于是开始了JetPack的下载与安装:
正式刷机
等待快完成下载时,宿主电脑会弹出如下页面:
这时需要我们选择手动模式(Manual Setuplinux命令),并手动使 Jetson Xavier 进python代码大全入 Recovelinux系统ry 模式,步骤如下:
使用Type-C转USB数据线将 Xavier 与宿主电脑连接
将 Xavier 插上电源,并处于关机状态
点击Flash,准备python刷python编程机
按下并保持 Xavier 上的【Recovery】键(中间的键人工智能概念股)
按下并保持【Power】键(最左边的键),持续1s,然linux常用命令后同时松开这两个键,进入刷机模式
JetPack 中的主要功能
https://ddefine在c语言中是什么意思eveloper.nvidia.com/zh-cn/embedded/jetpack
操作系统
NVIDIA L4T 提供引导加载程序、Linux 内核、必要固件、NVIDIA 驱动、示例文件系统等内容。
TensorRT
TensorRT 是用于图像python分类、分割和物体检测神经网络的高性能深度学习推理运行时。TensorRT 依托于 CUDA 而构建,是 NVIDIA 的并行编程模型,支持优化各种深度学习框架的推理过程。它包含深度学习推理优化器和运行环境,可让深系统运维工作内容度学习推理应用实现低延迟和高吞吐量。
cuDN人工智能换脸鞠婧祎郑爽N
CUDA 深度神经网络库为深度学习框架提供了高性能基元。它可大幅linux是什么操作系统优化标准例程(例如用于前向传播和反向definex是什么牌子传播的卷积层、python池化层、归一化层和激活层)的实施。
CUDA
CUDA 工具包为 C 和 C++ 开发人员构建 GPU 加速应用defined在python中是什么意思提供了全面的开发环境。该工具包中包括一个针对 NVIDIlinux删除文件命令A GPU 的编译器、多个数学库,以及多款用于调试和优化应用性python基础教程能的工具。
多媒体 API
Jetson 多媒体 API 包提definex供了低层级的 API,有助于实现灵活的应小目标检测用开发。
摄像头应用 API:Libargusdefinex 为摄像头应用提供了低层级的帧同步 API,同时还提供了逐帧摄像头参数控制、多个(包含已同步的摄像头)摄像头支持以及 EGL 流输出。需要 ISP 的 RAW 输出 CSdefine用法I 摄像头可与 Libargus 或 GStreamer 插件配合使用。这两python编程种情况下都会使用 V4L2 媒体控制器传感器驱动 API。
传感器驱动 API:V4L2 API 支持视频解码、编码、格式转换和缩放功能。用于linux命令编码的 V4L2 开启了多项功能,如比特率控制、质量预设linux系统、低延迟编码、临时折衷、运动矢量图等。
计算机视觉
VisionWorks 是一个用于计算机视觉 (CV) 和图像处理的软件开发包。
OpenCV 是一个领先的开源库,用于计算机视觉、图像处理和机器学习。
VPI(视觉编程接口)1 是一个软件库,提define在c语言中的用法供可在 PVA2(可编程视觉加速器)、GPU 和 CPU 上实现的计算机视觉或图像处理算法
Deepstream SDK 是一套完整的分析工目标检测算法具包,可用linux于基于 AI 的多传感器处理以及视频和图像理解。
JetPack 4.4 支持 DeepStream 5.0 一般可用版本
DeepStream 5.0 开发者预览版本仅受 JetPack 4.4 开发者预览版本支持。linux
14:02:32 ERROR: Drivers for Jetson - target_image: E动目标检测: The repository ‘file:/var/cuda-repo-ubuntu1804-10-2-local Release’ no longer has a Release file.
14:02:32 ERROR: Drivers for Jetson - target_image: command t人工智能的定义erminated with error
14:02:32 SUMMARY: File System and OS - target_image: Depends on failed component
二、yolov5模型转换成tpython下载ensorrt加速模型
2.1 Jetson Xavier安装pytordefined在python中是什么意思ch 1.6.0和torchvision0.7.0
进行模型的转换,需要先安装pytorch环境,下面是我在Xavier上安装pytorch 的步骤。
我的环境说明:
名称 |
版本 |
硬件: |
Nvidia Jet三维目标检测son Xavier AGXdefineproperty |
CUDA版本: |
10.2 |
Jetdefine名词pack版本: |
JP 4.5linux |
python版本: |
python2.7 python3.6 |
deepstream-app version |
5.0.0 |
TensorRT Version: |
7.1 |
cuDNN Version: |
8.0 |
2.1.1、whl文件安装pytorch
在英伟达官方提供的Jetson Zoo处下载你系统对应的英伟达编译好的arm版本,这里和平常llinux系统安装inux系统下安装的whl包不同,Jetson Xavier是arm环境不是x86。
例如我下载的文件是
然后python代码画樱花按照下面四个步骤安装ppythonytorchdefine在c语言中是什么意思,这里注意,不是直接运行define什么意思
python下载pip idefined在python中是什么意思nstadefine()l人工智能专业l torch-1.6.0-cp36-cp36m-linux_aarch64.whl
而是需要运行下面四个步骤才能成功。
安装 OpenBLAS and OpenMPI
sudo apt-get install libopenblas-base libopenmpi-dev
sudo apt-get install python3-pip
pip3 install Cython
pip3 install numpy torch-1.6.0-cp36-cp36m-linux_aarch64.whl
测试是否运行成功
python3
import torch
2.1.2、安装torchvision
pytorch和torchvisdefine在c语言中是什么意思ion版本对应关系
以下版本截止2021年3月24日
pytorlinux系统ch1.6.0对应的torchvision版本为0.7.0
git clone -b v0.7.0 https://github.com/pytorch/vision
cd vision
sudo python3 setup.py install
2.1.3、测试是否安装成功
import torch
import torchvision
print(torch.__version__)
print(torch.version.cuda)
print(torchvision.__version__)
运行人工智能概念股
python3 test_pytorch.py
大功告成!
2.1.4、可能遇到的问题
问题1:NVIDIA JETpython怎么读SON Xavier系统运维工程师 安装 pytorch 出现错误:import torch 出现 Illegal instruction(core dumped)
解决方法
'''修改环境变量'''
sudo gedit /etc/profile
把 export OPENBLAS_CORETYPE=ARMV8 加入最后面一行,然后保存
'''更新环境变量'''
source /etc/profile
如果Xavierdefine用法 安装torchvision也出现Illegal instructilinux命令on
不要用源码安装了,直接输入
pip3 install torchvison==0.9.1
安装成功。
问题2:出现问题:
No module named ‘numpython是什么意思py.testing.nosetester’
问题的原因是numpy版本>1.18,而scipy的版本<=0.19,所以只要把scipy的版本更新就行了。
解决方法
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade scipy
2.2、转换模型代码下载
一、下载代码
代码地址:https://github.com/DanaHan/Yolov5-in-Deepstream-5.0
mkdir deepstream_yolov5
cd deepstream_yolov5
git clone https://github.com/DanaHan/Yolov5-in-Deepstream-5.0.git
git clone https://github.com/ultralytics/yolov5.git
cd yolov5
git checkout -b v3.1 #切换到3.1版本
二、下载预训练模型——可以换成你自己的模型
下载好模型后放到 yolov5/weights 目录下
sudo docker cp yolov5x.pt 12a01fe39897:/home/work/DeepStream_Yolov5/yolov5/weights
三、 在yolov5将yolov5的.pt模型转换成 .wts格式
cp Yolov5-in-Deepstream-5.0/gen_wts.py yolov5/
修改 gen_wts.py 中的模型名称,需要根据自己用的模型做对应修改,主要是第8行和第11行
import torch
import struct
from utils.torch_utils import select_device
# Initialize
device = select_device('cpu')
# Load model
model = torch.load('weights/yolov5x.pt', map_location=device)['model'].float() # load to FP32
model.to(device).eval()
f = open('yolov5x.wts', 'w')
f.write('{}\n'.format(len(model.state_dict().keys())))
for k, v in model.state_dict().items():
vr = v.reshape(-1).cpu().numpy()
f.write('{} {} '.format(k, len(vr)))
for vv in vr:
f.write(' ')
f.write(struct.pack('>f',float(vv)).hex())
f.write('\n')
运行
cd yolov5
python3 gen_wts.py
成功!
运行后会在本地生成 yolov5x.wtdefine()s 文件。
三、在Yolov5-in-Deepstreamdefine翻译-5.0中将wts文件转换为TensorRT模型
将yolov5s.wts 复制到Yolov5-in-Deepstream-5.0中生成 engine(deepstream的docker环境+人工智能能否取代人类自己安装Pydefine翻译torch),
cp yolov5x.wts ../Yolov5-in-Deepstream-5.0
cd ../Yolov5-in-Deepstream-5.0
在Yo人工智能的定义lov5-in-Deepstream-5.0修改人工智能al女神古力娜扎 yolov5.cpp 文件,将 NET 宏改成自己对应的模型
#define NET x // s m l x
注意:默认情况下,yolov5 脚本生成batch size = 1 和FP16 模式的模系统运维工作内容型。
如果要更改此参数,请在编译人工智能前编辑 yolov5.cpp 文件。
#define USE_FP16 // set USE_INT8 or USE_FP16 or USE_FP32
#define DEVICE 0 // GPU id
#define NMS_THRESH 0.4
#define CONF_THRESH 0.5
#define BATCH_SIZE 1
如果转化自己训练的模型,类别数发生变化的时候,记得修改 yololayer.h
中的 python代码画樱花static constexpr int CLASS_NUM = 80;
为自己的类别数。
如果自己wts名称不是yolov5x.wts,可以在 yolov5.cpp 查找替换即可。
然后编译
mkdir build
cd build
cmake ..
make
sudo ./yolov5 -s
运行python编程后会生成 y人工智能能否取代人类olov5x.engine 和 libmyplugin.so 文件,首先检查下engine人工智能论文运行结果是否正确
创建测试图python片
cd ../
mkdir samples
复制一张图片进来,我从deepstream的官方示例了里复制的
cd /opt/nvidia/deepstream/deepstream/samples/streams
cp sample_720p.jpg /home/work/DeepStream_Yolov5/Yolov5-in-Deepstream-5.0/sanples/
然defineproperty后运行
cd build/
./yolov5 -d ../samples
成功
root@12a01fe39897:/home/work/DeepStream_Yolov5/Yolov5-in-Deepstream-5.0/build# ./yolov5 -d ../sanples/
[12/01/2021-05:56:27] [W] [TRT] Current optimization profile is: 0. Please ensure there are no enqueued operations pending in this context prior to switching profiles
20ms
并且可以在build目录下生成检测结果图片,结果如下图,框正常。
三、ddeepstream中yo人工智能lo v5部署进行目标检测
代码下载
百度云:
更改权限
sudo chmod -R 777 work/
发表评论