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网络结构图),全文最详细教程

相关推荐
檀越剑指大厂42 分钟前
T-BOX硬件方案深度解析:STM32与SD NAND Flash存储的完美搭配
stm32·单片机·嵌入式硬件
7yewh1 小时前
MCU程序加密保护(一)闪存读写保护法 加密与解密
单片机·嵌入式硬件
不脱发的程序猿1 小时前
如何优化MCU中断响应时间
单片机·嵌入式硬件·rtos
武乐乐~2 小时前
论文精读:YOLO-UniOW: Efficient Universal Open-World Object Detection
人工智能·yolo·目标检测
搬砖的小码农_Sky2 小时前
FPGA:XILINX FPGA产品线以及器件选型建议
嵌入式硬件·fpga开发·硬件架构·硬件工程
道亦无名2 小时前
STM32H743输出50%的占空比波形
stm32·单片机·嵌入式硬件
小智学长 | 嵌入式3 小时前
单片机-STM32部分:10、串口UART
stm32·单片机·嵌入式硬件
DragonnAi3 小时前
【目标检测标签转换工具】YOLO 格式与 Pascal VOC XML 格式的互转详解(含完整代码)
xml·yolo·目标检测
#金毛3 小时前
如何使用C51的Timer0实现定时功能
单片机·嵌入式硬件
Flocx4 小时前
在 STM32 上使用 register 关键字
stm32·单片机·嵌入式硬件