Jetson NX(Emmc 16G)从刷机到yolov4-tiny + TensorRT踩坑调试记录

关于在Jetson Xavier NX(EMMC 16G)设备上刷机、安装CUDA包以及测试yolov4-tiny的实时检测,虽然整个看着不是很难,却花费了我2周的时间(前面都在乱搞,其实真正的工作量2天做完,前面踩坑太多了,中间刷了3、4次机),因此在这记录一下!!!

起因:

  • 因为板子是在亚博智能上买来的,Jetson NX (EMMC 16G版本),本身是不需要重装系统的,只需要安装Anaconda,对整个环境进行处理。但是因为原版是Jetpack4.6版本的,在做TensorRT转化时不能成功,后来在官网上查看时,工作人员可以去安装Jetpack5.0以上的,所以才有了下面两周的工作量,中间被折磨的很难受,出现了各种bug,最后要感谢万能的CSDN,帮助了我很多,特此记录一下从刷机到实时检测的各个流程

一、刷机(安装Nvidia SDK Manage工具)

  • 1、此处用的是商家提供的虚拟机,我们只需要安装VMWare即可(也可以自己新建虚拟机,但是通常因为板子的问题,Opencv、CUDA等SDK经常安装不成功,所以此处还是建议用商家的提供的)
  • 2、打开虚拟机Ubuntu18后,在搜索栏搜索SDK Manager,有可能会报错这时候需要点击右上角的check update,然后升级就好了;
  • 3、在升级完成后,先将SDK Manager关掉,然后 按照说明书将补丁打上 ,大家可以前往下面的网址中下载:Jetson NX 亚博智能官网资料网站(此处资料提取密码自行找客服要),此步骤很重要,前面我刷了很多次SDK安装不成功就是因为这个。(如果不打补丁,就会像我这样下载失败,如果成功了,当我没说
    在这里插入图片描述
  • 4、因为EMMC版本的板子,内存之后16G,因为一开始只能先装系统,等后面将磁盘扩容之后,才能安装opencv、CUDA、CUDNN等SDK;
  • 5、在装系统时需要将REC与GND短接,然后板子上电,选择连接虚拟机,这样板子就可以正式进入刷机状态了。
    在这里插入图片描述
    具体过程可参照下面的博客: Jetson Xavier NX重装Jetpack5.0.2系统、安装CUDA11.4、Cudnn8.4.1、Tensorrt8.4.
    但是此处需要注意与之不同的一点就是“Pre-Config”改为“Running time”,这样后面卡机的时候就可以自己定义虚拟机的用户名和密码等信息。
  • 查看虚拟机版本 uname -a ,一般为Ubuntu18.04,20.04版本
需要注意下面几点:
  • 1、系统安装完成之后注意不要换源,因为opencv是需要老的依赖项的,如果换成清华源或其他源,会报很多依赖错误
  • 2、正常过程为:先打补丁-> 然后再安装系统 -> 磁盘扩容 -> 安装SDK(在这个工程中一定不要换源!不要换源!不要换源!因为换源之后,opencv等依赖包会因为太新而无法正确安装),要不然就会这样:
    在这里插入图片描述
  • 3、先全部都下载下来,然后整体进行安装。

二、装机初始化工作

2.1 换源

Ubuntu(arm)20.04更换软件源

2.2 打开风扇

接下来的工作我开始安装各种包,但是并没有安装Anaconda,后面再安装也可以。

三、Anaconda、Pytorch与torchvision安装

NVIDIA Jetson Xavier NX入门(3)——安装miniforge和Pytorch

  • 这边的话基本上正常安装就可以了,但是如果torch下载较慢,可以利用windows电脑先下载现在,通过U盘来进行安装;
  • 一定要注意Jetpack、pytorch与torchvision的对应情况(不是只有pytorch和torchvision有对应情况,Jetpack也是有的,这点需要非常注意,可以在官网进行查看)。因为之前我下载的是jetpack5.0.2,所以只能安装pytorch V1.11.0及版本以上的。
    在这里插入图片描述
    在这里插入图片描述
需要注意的点:
  • 1、在安装torchvision的时候因为要访问github,所以可以在gitee上面拉取github上面的仓库,具体细节见下面的参考:
    知乎上加快torchvision下载的方法
  • 2、后面如果在github上下载麻烦的话都可以将仓库拉到gitee上,这样下载速度会加快很多。
因为我并没有重新安装opencv,他需要编译的时间很长,因为原环境中有opencv,但是不带cuda,这个目前没关系,而且网上教程很多,自行安装编译即可,但是在ARM上安装需要很久,大概3个小时左右

三、测试TensorRT加速的yolov4-tiny模型

可根据下面的教程进行测试:
Jetson NX 使用Tensorrt加速yolov4/yolov4-tiny模型

但是我在做的过程遇到的问题如下:

  • 1、sh ./downloadyolo.sh没有反应,后面打开脚本看了一下是wget指令没有起作用,因为我的Jetson不能“科学上网”,因此我直接把脚本里面设计yolov4-tiny的cfg和权重文件自己下载下来,即yolov4-tiny.weights与yolov4-tiny.cfg。这个直接把脚本文件中wget后面网址在浏览器中打开即可,然后把现在的文件放在yolo文件夹下即可。
  • 2、当安装11.4CUDA版本时,需要onnx的版本为1.11.0(如果网络连接问题,换成清华源),这个我试了很多次,最终在官网上才解决问题
  • 3、缺少pycuda,可参照下面的进行解决
    Ubuntu20.04.4LTS安装CUDA11.6,cuDNN,TensorRT,PyCUDA,PyTorch
  • 4、也可参考下面几个网站:
    yolov4-tiny使用jetson nano进行目标检测+tensorrt+CSI+USB摄像头检测
    可能因为这个是比较新的环境,之前的教程或多或少都有些问题,因此来记录一下,也希望可以帮助更多的人少走一些弯路吧,填坑结束!!!
    最终的帧率大致40多,接近50FPS
    在这里插入图片描述
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值