Yolov8-Tensorrt部署到开发板上(Jetson Xavier NX)(错误复盘解决)

Yolov8部署到开发板上(Jetson Xavier NX

1 jetpack选择和下载

下载链接:JetPack 存档 |NVIDIA 开发人员

大家对应安装就好,我这里安装的是5.1.1,点开上面的5.1.1往下拉找到下图,点击下载

2 jetpack的烧录(SD卡)

硬件:开发板、SD卡、读卡器

我这里采用的是SD卡烧录的方式,建议选择大内存大品牌的SD卡和读卡器,我用的是128G。

软件:下载最新的balenaEtcher,balenaEtcher - Flash OS images to SD cards & USB drives

Ps: ①可能我烧录的5.11较新,使用之前下载的balenaetcher版本太旧,烧录进去之后,一直黑屏读取不出来!!

②记得把SD卡格式化,格式化方法:

【Jetson-Nano】SD卡重新格式化_nano系统sd格式化-CSDN博客

3 基本设置

3.1 NoMachine安装

不想外接显示器,可安装nomachine进行系统操作。

注意:我这里的连接方式是在同一wifi下!!!! 其他连接方式可自行百度。

在windows下进入官网安装nomachine: NoMachine - Free Remote Desktop for Everybody

在开发板上打开浏览器,同样输入NoMachine - Free Remote Desktop for Everybody

找到其它系统,点击,然后下拉到最下方找到for ARM 打开进入,下载 NoMachine for ARM ARMv8 DEB—下载后直接安装即可,记住在同一wifi下。

都安装完成之后,在主机上打开nomachine,它会自动识别

双击,然后输入用户名和密码就好,

然后再做一些基本设置:

设置自动登录:在开发板中打开设置,找到下图,设置自动登录

设置显示器分辨率,如下图

设置不熄屏

3.2 jetpack 更新

如果想进行子版本更新,如将5.1.1更新到5.13,请参考:NVIDIA Jetson Xavier NX升级JetPack 4.4至4.6.1_jetpack upgrade-CSDN博客,我这里没有跟新。

由于我的项目需要用到ROS,因此我没有直接换源,我这里直接用鱼香ROS提供的一键安装命令:wget http://fishros.com/install -O fishros && . Fishros

根据提示操作进行安装,顺便在安装的时候进行换源,不用在自己替换了。这里贴一个安装链接大家可以看下:ROS的最简单安装——鱼香一键安装_鱼香ros一键安装-CSDN博客

这里贴几个常用的安装命令

安装pip:

sudo apt update

sudo apt install python3-pip

3.4 安装jtop:控制风扇、查看GPU CPU等信息

sudo -H pip3 install -U jetson-stats  ---安装JTOP

sudo systemctl restart jetson_stats.service  ----运行 jtop 服务

重启设备后,打开命令终端,输入jtop 即可查看

下图是开启风扇的步骤,鼠标依次点击就可以。

如果想修改语言为中文,安装中文输入法之类的,请参考:Jeston Xavier NX 语言设置和中文键盘输入_jetson更换语言-CSDN博客

Ps:手动换源参考:

ubuntu 20.04 设置国内镜像源(阿里源、清华源)_ubuntu 20.04 镜像源-CSDN博客

4 安装minconda配置torch torchvison

由于我不想直接更改系统环境,所以借助miniconda 进行环境管理这里的操作命令和windows一样。可参考

(亲测成功)NVIDIA Jetson NX 安装Miniconda以及Pytorch1.7_nvidia nx miniconda-CSDN博客

安装完成miniconda之后开始安装torch torchvison

查看torch 与torchvison 版本对应:

pytorch/vision: Datasets, Transforms and Models specific to Computer Vision (github.com)

由于我的cuda是11.4,结合我的项目,我安装的torch:2.00,torchvison:0.15.

由于直接下载太慢了,因此我是在windows下直接下载后在移动到开发板进行安装的

Torch下载链接:

PyTorch for Jetson - Jetson & Embedded Systems / Announcements - NVIDIA Developer Forums(选择自己的版本)

Torchvison下载链接

pytorch/vision: Datasets, Transforms and Models specific to Computer Vision (github.com)

打开之后,如下图,选择自己版本进行下载

进入到自己创建的环境,在进入到你torch 和torchvision路径下用pip instyall 安装。

具体参考:

NVIDIA JETSON XAVIER NX (四)安装Pytorch和torchvision_jetson xavier nx安装pytorch-CSDN博客   ---写的很详细

5  tensorrt模型部署

这里用的是别人写好的TensorRT-Alpha封装库,基于tensorrt+cuda,实现模型的gpu加速。

官方链接:

FeiYull/TensorRT-Alpha: 🔥🔥🔥TensorRT for YOLOv8、YOLOv8-Pose、YOLOv8-Seg、YOLOv8-Cls、YOLOv7、YOLOv6、YOLOv5、YOLONAS......🚀🚀🚀CUDA IS ALL YOU NEED.🍎🍎🍎 (github.com)

也可以直接去看 README.md 写的很清楚,注意他的使用环境和tensorrt版本。

我这里是参考这个博主,他的环境和我的一样,大家可按照他的安装步骤来:Jetson Xavier NX 下 yolov8 tensorrt模型部署(Jetpack5.1.2、CUDA11.4、Cudnn8.6.0、Tensorrt8.5.2)_yolov8 nx 部署-CSDN博客

但是要注意第4编译,在执行make-j10 出现如下报错:

博主给的解决方法是:

但是我用了之后,一直报错,后面找到了解决办法:undefined reference to `sample::splitToStringVec 哪里不对呢? · Issue #47 · FeiYull/TensorRT-Alpha (github.com)

具体操作:

进入到你下载的TensorRT-Alpha目录下找到yolov8文件夹

输入命令:suodo gedit CMakeLists.txt  将标红的注释打开就可以

### 回答1: Jetson Xavier NX 是 NVIDIA 推出的一款 AI 开发板,搭载了 NVIDIA Xavier 处理器,可用于进行深度学习和计算机视觉任务。而 YOLOv5 是一种基于深度学习的目标检测算法,可用于在图像或视频中实时检测多个目标。 如果您想在 Jetson Xavier NX 上使用 YOLOv5 进行目标检测,可以按照以下步骤进行: 1. 安装 JetPack SDK。JetPack 是 NVIDIA 提供的一个软件开发套件,包含了操作系统、CUDA 工具包、cuDNN 库、TensorRT 库等组件,可以帮助您在 Jetson Xavier NX 上进行深度学习开发。您可以从 NVIDIA 官网下载并安装 JetPack SDK。 2. 下载 YOLOv5 源代码。您可以从 YOLOv5 的 GitHub 仓库下载最新的源代码。下载完成后,将源代码上传至 Jetson Xavier NX 上。 3. 安装依赖项。在 Jetson Xavier NX 上,您需要安装 Python 3、NumPy、PyTorch、OpenCV 等软件包。可以使用 pip 命令进行安装。例如,安装 PyTorch 可以使用以下命令: ``` pip install torch torchvision torchaudio ``` 4. 将 YOLOv5 模型转换为 TensorRT 格式。在 Jetson Xavier NX 上,可以使用 TensorRT 库对模型进行优化,从而提高推理速度。您需要使用 YOLOv5 源代码中提供的脚本将模型转换为 TensorRT 格式。例如,要将 YOLOv5s 模型转换为 TensorRT 格式,可以使用以下命令: ``` python3 models/export.py --weights yolov5s.pt --img 640 --batch 1 ``` 5. 运行目标检测程序。在 Jetson Xavier NX 上,可以使用 YOLOv5 源代码中提供的 detect.py 脚本运行目标检测程序。例如,要在图像中进行目标检测,可以使用以下命令: ``` python3 detect.py --weights yolov5s.torch --img 640 --conf 0.25 --source image.jpg ``` 其中,--weights 参数指定要加载的模型文件,--img 参数指定输入图像的大小,--conf 参数指定目标检测的置信度阈值,--source 参数指定输入图像的文件名。 希望这些步骤对您有所帮助! ### 回答2: Jetson Xavier NX是NVIDIA最新发布的低功耗高性能AI计算平台,被称为最强大的AI小型电脑,其搭载的芯片组拥有384个张量核心,达到了11TFlops的计算能力。YOLOv5是目前最先进的目标检测算法之一,能够在保持高准确率的同时实现快速的目标识别和定位。那么Jetson Xavier NXYOLOv5结合有哪些优势呢? 首先,Jetson Xavier NX的高性能和低功耗使得它非常适合运行YOLOv5算法,因为YOLOv5需要大量的计算资源和内存来进行目标检测和分类,而Jetson Xavier NX能够提供强大的AI计算能力和高速的数据传输,减少了运行YOLOv5算法时的时延。 其次,Jetson Xavier NX还具有较高的多任务处理能力和深度学习推理速度,使得它能够同时运行多个摄像头的视频流进行实时的目标检测和追踪,而不需要降低图像处理的分辨率,从而更好地保持目标检测的准确率和实时性。 此外,Jetson Xavier NX还支持NVIDIA TensorRT和CUDA加速,这两种技术可以将训练好的神经网络的推理速度加速数倍,使得Jetson Xavier NX能够更快地处理复杂的目标检测任务和各种AI场景。 因此,Jetson Xavier NXYOLOv5的结合可以为安防、自动驾驶、智能交通等领域的应用提供更高效、更准确和更实时的解决方案。 ### 回答3: Jetson Xavier NX是英伟达推出的高性能边缘计算平台,搭载NVIDIA的Volta架构和Tensor Cores,支持AI推理、复杂的计算任务和图形渲染。而Yolov5是一种基于深度学习的目标检测算法。 Jetson Xavier NX搭载着NVIDIA的高效AI处理芯片,能够支持高效的AI推理,使得检测速度非常快,对于复杂的计算任务有着非常优秀的性能表现。而Yolov5则是基于深度学习算法的目标检测算法,相对于传统的算法有着更好的准确度和速度。 结合Jetson Xavier NXYolov5,我们可以使用Jetson Xavier NX作为高性能边缘计算平台进行目标检测应用的开发。使用Yolov5算法来进行目标检测,可以在保证准确度的前提下提高检测速度,达到更好的实时性能。 有些应用需要在机器上进行目标检测,但是机器的计算能力始终存在限制,这就需要像Jetson Xavier NX这样的高性能计算平台来支持更好的性能表现。使用Yolov5算法,可以在保证准确率的同时提高检测速度,让机器实现实时检测,以获得更好的应用体验。 总之,Jetson Xavier NXYolov5的结合可以在保证准确度的前提下提高目标检测的速度,使得应用具备更好的实时性能,具有非常广泛的应用价值。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值