当前位置: 首页 > backend >正文

Jetson Orin NX 部署YOLOv12笔记

 步骤一.创建虚拟环境

conda create -n yolov12 python=3.8.20

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

步骤二.激活虚拟环境

conda activate yolov12  #激活环境

步骤三.查询Jetpack出厂版本

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

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

查看当前出厂版本

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版本。

链接打开后如图所示:

安装指令

pip install path to xx.whl   #安装该文件

        注意:此处的安装文件名中的cp38是python3.8版本的意思,故在虚拟环境中安装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

验证是否安装成功

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

步骤五.安装其他依赖项

pip install -r requirements.txt   #集群安装

步骤六.运行YOLOv12

python detect.py   #运行脚本

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

1.报错torch与torchvision不兼容

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

相关指令:

python -c "import torch; import torchvision; print(f'torch version: {torch.__version__}, torchvision version: {torchvision.__version__}')"   #检查当前安装的 torch 和 torchvision 版本
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网络结构图),全文最详细教程

http://www.xdnf.cn/news/469.html

相关文章:

  • 学生成绩统计系统需求说明书
  • 180-《商陆》
  • 基于medusa范式的大模型并行解码推理加速初探
  • sql之DML(insert、delete、truncate、update、replace))
  • Vue组件深度封装:从复用艺术到架构思维
  • P1113 杂务-拓扑排序
  • 【网络编程】TCP数据流套接字编程
  • Cypress EZ-USB CX3 适配输出imx586相机
  • 100KNTC阻值表
  • CTF--秋名山车神
  • 【Test】function 包装器 和 bind 包装器的使用
  • 软件测试:静态测试与动态测试的全面解析
  • 大模型Rag - 如何评估Rag
  • SpringBoot启动后初始化的几种方式
  • P1042【深基8,例1】乒乓球
  • C++手撕STL-其二
  • Pandas取代Excel?
  • MCGS昆仑通太屏笔记
  • 【java实现+4种变体完整例子】排序算法中【归并排序】的详细解析,包含基础实现、常见变体的完整代码示例,以及各变体的对比表格
  • 【ELF2学习板】利用OpenMP采用多核并行技术提升FFTW的性能
  • 科学研究:怎么做
  • 【java实现+4种变体完整例子】排序算法中【堆排序】的详细解析,包含基础实现、常见变体的完整代码示例,以及各变体的对比表格
  • OSPF综合实验(HCIP)
  • 第32讲:卫星遥感与深度学习融合 —— 让地球“读懂”算法的语言
  • AUTOSAR图解==>AUTOSAR_SWS_KeyManager
  • 那就聊一聊mysql的锁
  • Firewalld防火墙
  • (二)Trae 配置C++ 编译
  • 2024年网站开发语言选择指南:PHP/Java/Node.js/Python如何选型?
  • 240419 leetcode exercises