Yolov8部署到开发板上(Jetson Xavier NX)
1 jetpack选择和下载
大家对应安装就好,我这里安装的是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加速。
官方链接:
也可以直接去看 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 将标红的注释打开就可以