Jetson Orin Nano Super之pytorch + torchvision安装

部署运行你感兴趣的模型镜像

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

$ 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

$ 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升级

您可能感兴趣的与本文相关的镜像

PyTorch 2.6

PyTorch 2.6

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

Jetson Orin Nano Super设备基于NVIDIA的嵌入式平台,支持运行具备GPU加速能力的深度学习框架,如PyTorch。由于其采用ARM架构,并搭载NVIDIA GPU,因此需要安装专为Jetson设备定制的PyTorch版本,以确保与设备硬件兼容并能够充分利用GPU加速能力。 通常,NVIDIA提供针对Jetson系列设备的PyTorch预编译版本,这些版本适配了CUDA和TensorRT等NVIDIA软件栈,以实现高效的推理性能。用户可以通过JetPack SDK来获取与设备兼容的PyTorch版本。JetPack SDK集成了操作系统映像、驱动程序、库和工具,是配置Jetson设备进行AI开发的关键工具链。 安装PyTorch时,需要确保版本与Jetson Orin Nano Super的CUDA版本兼容。例如,若设备已安装JetPack 5.0,则CUDA版本为11.4,应选择支持CUDA 11.4的PyTorch版本。可通过以下步骤完成安装: 1. **更新系统并安装依赖**: ```bash sudo apt update && sudo apt upgrade -y sudo apt install python3-pip libopenblas-dev -y ``` 2. **安装PyTorch**: 可通过从NVIDIA官方仓库下载适用于JetsonPyTorch wheel文件进行安装,例如: ```bash pip3 install torch-1.13.0a0+git7155e05-cp36-none-linux_aarch64.whl ``` 该wheel文件需根据实际CUDA版本和Python版本进行调整[^1]。 3. **验证安装**: 安装完成后,可通过以下命令验证PyTorch是否成功加载GPU支持: ```python import torch print(torch.__version__) print(torch.cuda.is_available()) ``` 若输出中显示CUDA可用,则表明PyTorch已成功利用GPU进行加速。 此外,考虑到Jetson设备的资源限制,建议使用轻量化的PyTorch模型或借助TensorRT进一步优化模型推理速度和内存占用,以适应边缘计算场景的需求。同时,对于需要多设备协同或联邦学习的场景,可在每个Jetson设备上部署优化后的PyTorch模型,并通过网络将训练结果上传至云端进行聚合和全局模型更新[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值