当前位置: 首页 > news >正文

Jetson Nano配置指南(四):YOLOv8/v11使用TensorRT加速

本文为Jetson Nano系列教程的第四篇,详细讲解如何将YOLOv8/v11模型通过TensorRT加速部署,提升推理性能。通过本文,您将学会从模型导出、依赖安装到实际测试的全流程操作,并附赠常见问题解决方案。

一、环境准备

在开始前,请确保已配置以下环境:

  • 硬件设备:Jetson Nano(4GB内存版本)
  • 系统版本:JetPack 4.6 或更高
  • Python版本:3.8(推荐使用Conda虚拟环境)

二、安装依赖与工具

所需tensorRTonnx安装包:tensorrt-8.2.3.0-cp38-none-linux_aarch64.whl、onnxruntime_gpu-1.16.0-cp38-cp38-linux_aarch64.whl下载地址

1. 安装ONNX相关依赖

导出ONNX模型需安装以下库(使用清华镜像加速):

# 安装ONNX运行时与简化工具
python -m pip install onnxruntime_gpu-1.11.0-cp38-cp38-linux_aarch64.whl onnxslim -i https://pypi.tuna.tsinghua.edu.cn/simple/
# 安装ONNX核心库
python -m pip install onnx onnxruntime -i https://pypi.tuna.tsinghua.edu.cn/simple/

2. 导出ONNX模型

使用Ultralytics官方工具导出模型:

yolo mode=export model=yolo11n.pt format=onnx simplify=True

注意:若遇到opset版本警告,需修改default.yaml中的opset值至12,并且清除缓存设置

rm /home/xzz/.config/Ultralytics/persistent_cache.json  # 删除损坏的缓存文件

测试图片

yolo predict model=yolo11n.onnx source="ultralytics/assets/bus.jpg"

三、配置TensorRT环境

1. 安装TensorRT

下载TensorRT的Python Wheel包并安装:

python -m pip install tensorrt-8.2.3.0-cp38-none-linux_aarch64.whl -i https://pypi.tuna.tsinghua.edu.cn/simple/

2. 导出TensorRT引擎

使用YOLO命令行工具转换模型:

yolo mode=export model=yolo11n.pt format=engine half=true simplify=True workspace=2

四、模型推理测试

1. 运行TensorRT模型

yolo predict model=yolo11n.engine source="ultralytics/assets/bus.jpg" device=0

2. 常见问题解决

问题1:numpy版本冲突

若报错module 'numpy' has no attribute 'bool',降级numpy版本:

python -m pip install numpy==1.23.5 -i https://pypi.tuna.tsinghua.edu.cn/simple/
问题2:内存不足(OOM)

Jetson Nano内存有限,可通过添加Swap交换空间缓解:

git clone https://github.com/JetsonHacksNano/installSwapfile
cd installSwapfile
sudo ./installSwapfile.sh # 默认创建6GB Swap

如果显示找不到命令

解决办法:
右击xxx.sh文件,打开属性———>权限——>勾选允许作为程序执行文件

若安装软件报错:OSError: [Errno 28] No space left on device: 'runs/detect/val',空间不足,删除软件,清空回收站

sudo rm -rf ~/.local/share/Trash/*

问题3:setuptools版本过高

若安装时提示setuptools兼容性问题,降级至58.0.0:

python -m pip install setuptools==58.0.0

六、总结

通过本文,您已完成以下操作:

  1. 安装ONNX和TensorRT依赖

  2. 导出ONNX模型并转换为TensorRT引擎

  3. 运行加速后的模型并解决常见问题

优化建议

  • 使用half=true启用FP16精度加速推理

  • 合理设置输入分辨率imgsz以平衡速度与精度

相关文章:

  • A l密码学(Deepseek)
  • 超硬核区块链算法仿真:联盟链PBFT多线程仿真实现 :c语言完全详解版
  • 在 Vue 项目中调用 DeepSeek API(示例篇)
  • 第十三章,L2TP VPN
  • 【设计模式】观察者模式
  • 用python制作一个俄罗斯方块小游戏
  • 如何 使用 Docker 部署 ollama 和 MaxKB
  • scrapy入门(深入)
  • 电脑如何设置几分钟后自动关机
  • ORACLE 19.8版本数据库环境EXPDP导数据的报错处理
  • LeetCode 139 —— 139.单词拆分
  • Thinkphp 多文件压缩
  • Java 大视界 -- 基于 Java 的大数据机器学习模型的多模态融合技术与应用(143)
  • Android Compose 图标按钮深度剖析:从源码到实践(五)
  • MES汽车零部件制造生产监控看板大屏
  • 【Go 】异常处理
  • SpringBoot第四站(1):数据层开发: 配置数据源,整合jdbcTemplate
  • Linux文件挂载新文件夹,隐藏老文件夹问题
  • 【React】useEffect、useLayoutEffect底层机制
  • docker desktop 集成WSL Ubuntu22.04
  • LPR名副其实吗?如果有所偏离又该如何调整?
  • 陈刚:推动良好政治生态和美好自然生态共生共优相得益彰
  • 时隔三年,俄乌直接谈判重启
  • 中方是否计划解除或调整稀土出口管制?外交部回应
  • 新城悦服务:独董许新民辞任,新任独董与另两人组成调查委员会将调查与关联方资金往来
  • 租车订单时隔7年从花呗免密扣费?“GoFun出行”引质疑