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

相关推荐
几个几个n1 小时前
STM32-第二节-GPIO输入(按键,传感器)
单片机·嵌入式硬件
Despacito0o4 小时前
ESP32-s3摄像头驱动开发实战:从零搭建实时图像显示系统
人工智能·驱动开发·嵌入式硬件·音视频·嵌入式实时数据库
门思科技4 小时前
设计可靠 LoRaWAN 设备时需要考虑的关键能力
运维·服务器·网络·嵌入式硬件·物联网
良许Linux6 小时前
32岁入行STM32迟吗?
stm32·单片机·嵌入式硬件
m0_466607707 小时前
【STM32CubeMX】ST官网MCU固件库下载及安装
stm32·单片机·嵌入式硬件
Wallace Zhang11 小时前
STM32F103_Bootloader程序开发11 - 实现 App 安全跳转至 Bootloader
stm32·嵌入式硬件·安全
GodKK老神灭11 小时前
STM32 CCR寄存器
stm32·单片机·嵌入式硬件
一花·一叶13 小时前
基于昇腾310B4的YOLOv8目标检测推理
yolo·目标检测·边缘计算
昵称是6硬币13 小时前
YOLOv11: AN OVERVIEW OF THE KEY ARCHITECTURAL ENHANCEMENTS目标检测论文精读(逐段解析)
图像处理·人工智能·深度学习·yolo·目标检测·计算机视觉
OICQQ6765800814 小时前
创建一个基于YOLOv8+PyQt界面的驾驶员疲劳驾驶检测系统 实现对驾驶员疲劳状态的打哈欠检测,头部下垂 疲劳眼睛检测识别
yolo·pyqt·疲劳驾驶·检测识别·驾驶员检测·打哈欠检测·眼睛疲劳