Jetson Orin Nano Super之pytorch + torchvision安装

Jetson Orin Nano Super之pytorch + torchvision安装

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

1 源由

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 JetsonNVIDIA - 下载包web页面不一致问题(一个停留在2.3.0,另一个有2.5.0);

相关细节:

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

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

2.2 开源自己编译版本

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

bash 复制代码
$ cat build.sh
#!/bin/bash

git clone https://github.com/SnapDragonfly/pytorch.git
git checkout nvidia_v2.5.1
git submodule update --init --recursive

pip install "numpy<1.25" "scipy<1.11" --force-reinstall

export 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.4

export 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_PATH

echo "PATH:" $PATH
echo "LD_LIBRARY_PATH:" $LD_LIBRARY_PATH

python3 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

bash 复制代码
$ 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

bash 复制代码
$ 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升级

相关推荐
视觉语言导航14 分钟前
兼顾长、短视频任务的无人机具身理解!AirVista-II:面向动态场景语义理解的无人机具身智能体系统
人工智能·无人机·具身智能
墨绿色的摆渡人22 分钟前
pytorch小记(二十二):全面解读 PyTorch 的 `torch.cumprod`——累积乘积详解与实战示例
人工智能·pytorch·python
moonsims29 分钟前
低空态势感知:基于AI的DAA技术是低空飞行的重要安全保障-机载端&地面端
人工智能·安全
若叶时代40 分钟前
数据分析_Python
人工智能·python·数据分析
虾球xz44 分钟前
游戏引擎学习第286天:开始解耦实体行为
c++·人工智能·学习·游戏引擎
武子康1 小时前
大语言模型 11 - 从0开始训练GPT 0.25B参数量 MiniMind2 准备数据与训练模型 DPO直接偏好优化
人工智能·gpt·ai·语言模型·自然语言处理
羽凌寒2 小时前
图像对比度调整(局域拉普拉斯滤波)
人工智能·计算机视觉
大模型铲屎官2 小时前
【Python-Day 14】玩转Python字典(上篇):从零开始学习创建、访问与操作
开发语言·人工智能·pytorch·python·深度学习·大模型·字典
一点.点2 小时前
计算机视觉的简单介绍
人工智能·深度学习·计算机视觉
量子-Alex2 小时前
【目标检测】【Transformer】Swin Transformer
人工智能·目标检测·transformer