如何在Jetson Nano上运行自定义训练的YOLOv8n模型?
在Jetson Nano上运行自定义YOLOv8n模型的可行方案
我之前成功在Jetson Nano(JetPack 4.6.1,对应Ubuntu 18.04)上跑通了自定义训练的YOLOv8n模型,以下是亲测有效的操作步骤:
1. 适配Jetson的PyTorch与TorchVision安装
JetPack 4.x自带的PyTorch版本无法满足YOLOv8的要求,需手动安装适配ARM架构的版本:
- 卸载原有冲突包(若存在):
sudo pip3 uninstall torch torchvision -y - 安装对应JetPack版本的预编译包(以JetPack 4.6.1为例):
注:若pip自动下载失败,可手动获取ARM64架构的预编译whl文件本地安装。sudo pip3 install torch==1.12.0 torchvision==0.13.0
2. 安装兼容Python3.6的YOLOv8版本
JetPack 4.x自带Python3.6,不支持最新版YOLOv8,需指定安装适配版本:
sudo pip3 install ultralytics==8.0.196
该版本是最后支持Python3.6的YOLOv8发行版,可在Jetson Nano上稳定运行。
3. 模型转换与加速(可选但推荐)
直接运行.pt模型速度偏慢,建议转换为Jetson优化格式:
- 转换为ONNX格式:
yolo export model=/path/to/your/custom_model.pt format=onnx - 进一步转换为TensorRT引擎(速度提升最明显):
yolo export model=/path/to/your/custom_model.pt format=engine - 用优化后的模型推理:
yolo predict model=/path/to/your/custom_model.engine source=0 # source=0为摄像头,也可指定图片/视频路径
4. 常见兼容性问题解决
- 依赖版本冲突:若出现numpy、pillow等安装报错,手动指定兼容版本:
sudo pip3 install numpy==1.19.5 pillow==9.1.0 - 推理卡顿:关闭不必要的后台进程,确保Jetson Nano处于最大性能模式:
sudo nvpmodel -m 0 sudo jetson_clocks
验证运行示例
运行以下代码确认模型正常工作:
from ultralytics import YOLO # 加载自定义模型 model = YOLO("/path/to/your/custom_model.pt") # 推理测试图片 results = model("/path/to/test_image.jpg") # 输出检测结果 for result in results: print("检测框信息:", result.boxes)
内容的提问来源于stack exchange,提问作者msp12
相关产品推荐
相关产品推荐

