Jetson Nano配置指南(四):YOLOv8/v11使用TensorRT加速
本文为Jetson Nano系列教程的第四篇,详细讲解如何将YOLOv8/v11模型通过TensorRT加速部署,提升推理性能。通过本文,您将学会从模型导出、依赖安装到实际测试的全流程操作,并附赠常见问题解决方案。
一、环境准备
在开始前,请确保已配置以下环境:
- 硬件设备:Jetson Nano(4GB内存版本)
- 系统版本:JetPack 4.6 或更高
- Python版本:3.8(推荐使用Conda虚拟环境)
二、安装依赖与工具
所需tensorRT和onnx安装包: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
六、总结
通过本文,您已完成以下操作:
-
安装ONNX和TensorRT依赖
-
导出ONNX模型并转换为TensorRT引擎
-
运行加速后的模型并解决常见问题
优化建议:
-
使用
half=true
启用FP16精度加速推理 -
合理设置输入分辨率
imgsz
以平衡速度与精度