Jetson Orin Nano Super之pytorch + torchvision安装

ops/2025/1/31 17:36:21/

Jetson Orin Nano Super之pytorch + torchvision安装

  • 1 源由
  • 2. 安装pytorch
    • 2.1 NVIDIA手动版本下载
    • 2.2 开源自己编译版本
  • 3. 安装torchvision
  • 4. 参考资料

1 源由

  • Yolo incompatible with Jetpack 6.2(Jetson Orin Nano Super)
  • Yolo incompatible with Jetpack 6.2(Jetson Orin Nano Super) #18829

从NVIDIA - PyTorch for Jetson页面看,最新的是pytorch 2.3.0。

但是安装后将会出现 "ImportError: libcudnn.so.8: cannot open shared object file: No such file or directory"错误。

从提示中看,似乎是libcudnn.so.8没有,因为其自带的默认cuDNN: 9.3.0.75

虽然,我们知道apt作为安装包的管理工具,但是NVIDIA并没有在包的管理上投入资源,导致版本的依赖与兼容性用起来非常不智能(至少没有ubuntu的自带软件那么方便实用),充分体现了投入资源以及技术方面的一些短板,凸显了资源与技术的博弈!

在这里插入图片描述

2. 安装pytorch

注:本人不用NVIDIA的SDK Manager,因为这个工具要求比较高:Is it possible for SDK Manager to support low resolution/low memory computer?。

2.1 NVIDIA手动版本下载

  1. 手动下载,可能是比较直接的方法;
  2. 同时,笔者为什么说NVIDIA并没有在包的管理上投入资源;
  3. ubuntu apt工具就是针对包的依赖关系管理,而NVIDIA没有采用;
  4. NVIDIA - PyTorch for Jetson和NVIDIA - 下载包web页面不一致问题(一个停留在2.3.0,另一个有2.5.0);

相关细节:

  • Yolo incompatible with Jetpack 6.2(Jetson Orin Nano Super) #18829

Yolo开源代码提供的一个NVIDIA下载链接:torch-2.5.0a0+872d972e41.nv24.08.17622132-cp310-cp310-linux_aarch64.whl

  • Yolo incompatible with Jetpack 6.2(Jetson Orin Nano Super)

NVIDIA提供了第三方编译的一个例子:Jetson/L4T/TRT Customized Example

2.2 开源自己编译版本

关于这块NVIDIA二进制发布弊端就不谈了,但是闭源就是闭源,有其商业的问题,否则人家硬件不好卖,没钱赚那这种科技创新也就没有了。吐槽归吐槽,话又说回来,对于这种板子还需要自己的技术过硬。

  • 虚拟内存配置16GB比较保险 //Linux swap 配置与虚拟内存
  • Linux 35.6 + JetPack v5.1.4之 pytorch编译
  • Linux 35.6 + JetPack v5.1.4之 pytorch升级
  • 代码下载常见网络问题解决办法 //Jetson Orin Nano Super之jetson-fpv开源代码下载
$ cat build.sh
#!/bin/bashgit clone https://github.com/SnapDragonfly/pytorch.git
git checkout nvidia_v2.5.1
git submodule update --init --recursivepip install "numpy<1.25" "scipy<1.11" --force-reinstallexport USE_NCCL=0
export USE_DISTRIBUTED=0
export USE_QNNPACK=0
export USE_PYTORCH_QNNPACK=0
export TORCH_CUDA_ARCH_LIST="8.7"export PYTORCH_BUILD_VERSION=2.5.1
export PYTORCH_BUILD_NUMBER=1
export L4T_BUILD_VERSION=36.4export USE_PRIORITIZED_TEXT_FOR_LD=1
export USE_FLASH_ATTENTION=0
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATHecho "PATH:" $PATH
echo "LD_LIBRARY_PATH:" $LD_LIBRARY_PATHpython3 setup.py clean
rm -rf build/ dist/ *.egg-info
python3 setup.py bdist_wheel
  • 安装torch-2.5.1+l4t36.4

下载链接:torch-2.5.1+l4t36.4-cp310-cp310-linux_aarch64.whl

$ wget --tries=10 --retry-connrefused --waitretry=5 --timeout=30 -O https://github.com/SnapDragonfly/pytorch/releases/download/v2.5.1%2Bl4t35.6-cp38-cp38-aarch64/torch-2.5.1+l4t36.4-cp310-cp310-linux_aarch64.whl torch-2.5.1+l4t36.4-cp310-cp310-linux_aarch64.whl
$ python3 -m pip install --no-cache torch-2.5.1+l4t36.4-cp310-cp310-linux_aarch64.whl torch-2.5.1+l4t36.4-cp310-cp310-linux_aarch64.whl

3. 安装torchvision

$ git clone https://github.com/SnapDragonfly/vision.git torchvision
$ cd torchvision
$ git checkout nvidia_v0.20.0
$ export BUILD_VERSION=0.20.0
$ sudo python3 setup.py install --user

4. 参考资料

【1】Linux 35.6 + JetPack v5.1.4之 pytorch编译
【2】Linux 35.6 + JetPack v5.1.4之 pytorch升级


http://www.ppmy.cn/ops/154535.html

相关文章

计算机网络三张表(ARP表、MAC表、路由表)总结

参考&#xff1a; 网络三张表&#xff1a;ARP表, MAC表, 路由表&#xff0c;实现你的网络自由&#xff01;&#xff01;_mac表、arp表、路由表-CSDN博客 网络中的三张表&#xff1a;ARP表、MAC表、路由表 首先要明确一件事&#xff0c;如果一个主机要发送数据&#xff0c;那么必…

代码随想录算法训练营第三十九天-动态规划-337. 打家劫舍 III

老师讲这是树形dp的入门题目解题思路是以二叉树的遍历&#xff08;递归三部曲&#xff09;再结合动规五部曲dp数组如何定义&#xff1a;只需要定义一个二个元素的数组&#xff0c;dp[0]与dp[1] dp[0]表示不偷当前节点的最大价值dp[1]表示偷当前节点后的最大价值这样可以把每个节…

一种用于低成本水质监测的软传感器开源方法:以硝酸盐(NO3⁻)浓度为例

论文标题 A Soft Sensor Open-Source Methodology for Inexpensive Monitoring of Water Quality: A Case Study of NO3− Concentrations 作者信息 Antonio Jess Chaves, ITIS Software, University of Mlaga, 29071 Mlaga, Spain Cristian Martn, ITIS Software, Universi…

论文阅读(九):通过概率图模型建立连锁不平衡模型和进行关联研究:最新进展访问之旅

1.论文链接&#xff1a;Modeling Linkage Disequilibrium and Performing Association Studies through Probabilistic Graphical Models: a Visiting Tour of Recent Advances 摘要&#xff1a; 本章对概率图模型&#xff08;PGMs&#xff09;的最新进展进行了深入的回顾&…

基于物联网的火灾报警器设计与实现(论文+源码)

1 总体方案设计 本次基于物联网的火灾报警器&#xff0c;其系统总体架构如图2.1所示&#xff0c;采用STM32f103单片机作为控制器&#xff0c;通过DS18B20传感器实现温度检测&#xff1b;通过MQ-2烟雾传感器实现烟雾检测&#xff1b;.通过火焰传感器实现火焰检测&#xff0c;当…

绘制决策树的尝试1

代码复制 import pydotplus 复制 - 这一行代码用于导入pydotplus模块&#xff0c;这是一个用来在Python中创建图形的工具。2. python from IPython.display import Image 这一行代码用于从IPython显示模块中导入Image类&#xff0c;它允许我们在Jupyter笔记本中显示图像。…

Docker 在Linux 系统中的使用说明

目录 一&#xff1a;Docker 容器介绍1、容器技术的发展2、容器的关键技术3、Docker 发展历程4、容器的运行效率 二&#xff1a;Docker 安装方式1、在线安装 Docker2、离线安装 Docker 二&#xff1a;Docker 数据目录1、数据存储路径2、子目录的作用 三&#xff1a;Docker 配置文…

LitGPT - 20多个高性能LLM,具有预训练、微调和大规模部署的recipes

文章目录 一、关于 LitGPT二、快速启动安装LitGPT高级安装选项 从20多个LLM中进行选择 三、工作流程1、所有工作流程2、微调LLM3、部署LLM4、评估LLM5、测试LLM6、预训练LLM7、继续预训练LLM 四、最先进的功能五、训练方法示例 六、项目亮点教程 一、关于 LitGPT LitGPT 用于 …