Jetson Orin NX 部署YOLOv12笔记

步骤一.创建虚拟环境

python 复制代码
conda create -n yolov12 python=3.8.20

注意:YOLOv12/YOLOv11/YOLOv10/YOLOv9/YOLOv8/YOLOv7a/YOLOv5 环境通用

步骤二.激活虚拟环境

python 复制代码
conda activate yolov12  #激活环境

步骤三.查询Jetpack出厂版本

Jetson系列平台各型号支持的最高Jetpack版本:

注意:涉及JetPack版本大升级5->6,需要用官方工具重做系统,

查看当前出厂版本

python 复制代码
apt-cache show nvidia-jetpack  #查看jetpack版本

步骤四.Pytorch安装

安装流程(关键)

YOLOv12官方配置环境要求Pytorch版本为2.2.2,笔者JetsonOrinNX的出厂JetPack版本为5.1.3,故按照英伟达官方对于Jetson提供的预编译包链接,选择链接中最贴近2.2版本的torch进行离线下载,再用命令行进行安装。

离线安装:

Torch下载链接

http://​ developer.download.nvidia.cn/compute/redist/jp/v51/pytorch/ ​

注意:链接中的v51就是jetpack5.1版本,大家可根据自己版本修改此处,得到新链接内容,再选择需要的torch版本。

链接打开后如图所示:

安装指令

python 复制代码
pip install path to xx.whl   #安装该文件

注意:此处的安装文件名中的cp38是python3.8版本的意思,故在虚拟环境中安装python版本时也要对应于此

在线安装

python 复制代码
sudo python3 -m pip install --no-cache https://developer.download.nvidia.cn/compute/redist/jp/v51/pytorch/torch-2.0.0a0+8aa34602.nv23.03-cp38-cp38-linux_aarch64.whl

验证是否安装成功

python 复制代码
conda list torch #查看目标环境是否安装torch
python 复制代码
python -c "import torch; print(torch.__version__)"   #打印torch版本

步骤五.安装其他依赖项

python 复制代码
pip install -r requirements.txt   #集群安装

步骤六.运行YOLOv12

python 复制代码
python detect.py   #运行脚本

最后.可能遇见的问题与解决方法

1.报错torch与torchvision不兼容

解决方法:删掉原版本,安装新版本

相关指令:

python 复制代码
python -c "import torch; import torchvision; print(f'torch version: {torch.__version__}, torchvision version: {torchvision.__version__}')"   #检查当前安装的 torch 和 torchvision 版本
python 复制代码
pip uninstall torchvision   #清理旧版本
rm -rf ~/.cache/pip
rm -rf /home/jetson/.local/lib/python3.8/site-packages/torchvision*   #删除可能冲突的缓存文件
conda install torchvision=0.15 -c pytorch  #指定安装版本
sudo apt-get install libjpeg-dev libpng-dev   #torchvision 需要 libjpeg 和 libpng 库来支持图像处理功能,安装依耐项

#验证torchvision 的 C++ 扩展是否加载成功
import torchvision
print("Torchvision loaded successfully")

解决此问题用了一些时间,最后在安装依赖项时,系统自动下载了torch2.3,手动升级了对应的torchvision到1.8,解决了该问题。

2.JetPack SDK官方参考资料

JetPack 是为 NVIDIA Jetson 平台设计的一系列库、API、工具和文档的集合。它简化了开发流程,使开发者能够更容易地构建高性能的人工智能应用。JetPack 包含了用于图像处理、计算机视觉、深度学习等领域的库,比如 VisionWorks, cuDNN, TensorRT 等。此外,它还包含了操作系统镜像、多媒体支持和其他必要的组件

参考链接:JetPack SDK Archive

总结:Jetson是按照Jetpack版本去下载对应的Torch,这一点要和常规的根据CUDA版本去下载对应Torch有一定区别,需要注意。

#笔者也是新手,欢迎各位读者批评指正,更多参考:YOLOv12环境配置,手把手教你使用YOLOv12训练自己的数据集和推理(附YOLOv12网络结构图),全文最详细教程

相关推荐
嵌入式-老费7 小时前
Linux上位机开发实践(以MCU小系统入门嵌入式电路)
单片机·嵌入式硬件
WPG大大通8 小时前
基于意法半导体STM32G473和STDRIVE 101的电池供电BLDC/PMSM电动工具
stm32·单片机·嵌入式硬件·方案·大大通
the sun348 小时前
STM32---GPIO
stm32·单片机·嵌入式硬件
云山工作室9 小时前
基于单片机的温湿度采集系统(论文+源码)
人工智能·单片机·嵌入式硬件·毕业设计·毕设
完成大叔10 小时前
嵌入式:ARM公司发展史与核心技术演进
arm开发·嵌入式硬件
jacklood10 小时前
基于cubeMX的hal库STM32实现硬件IIC通信控制OLED屏
stm32·单片机·嵌入式硬件
define菜鸟#12 小时前
51单片机实验一:点亮led灯
单片机·嵌入式硬件
深圳信迈科技DSP+ARM+FPGA13 小时前
基于龙芯 2K1000处理器和复旦微 FPGA K7 的全国产RapidIO 解决方案研究
嵌入式硬件·fpga开发·机器人·信号处理
时光の尘13 小时前
FreeRTOS菜鸟入门(六)·移植FreeRTOS到STM32
c语言·数据结构·stm32·单片机·嵌入式硬件·嵌入式