本文基于 Jetson Orin 系列开发板(JetPack 6.0 DP / 正式版),梳理搭建 PyTorch GPU 环境大量踩坑根源: JetPack 6 升级 L4T 5.15、Ubuntu22.04、CUDA12.2、cuDNN8.9.x,但 PyTorch 官方暂无适配 Jetson ARM 平台的预编译 wheel。 直接 pip 安装会出现 cuda 不可用、缺少内核镜像等各类报错,本质是硬件、固件、驱动、CUDA 运行时、深度学习框架五层依赖匹配断裂。
常规 x86 一键安装方式完全失效,不能直接套用官方 PyTorch 安装脚本。作者实测对比 NGC 容器、源码编译、第三方包等 5 种方案,最终找到一条无需源码编译、不改动系统、不降级驱动,仅几条命令就能完成的极简部署方案。 适用于 Orin Nano、Orin NX、AGX Orin,面向 YOLO、点云检测、语音识别等需要 CUDA 加速的 AI 模型部署,帮开发者规避大量反复刷机、调试的无效耗时。
一、环境说明
硬件:NVIDIA Jetson AGX Orin 32GB
架构:aarch64
系统:Ubuntu 22.04
JetPack:R36.5
CUDA:12.6
二、安装Miniforge
Jetson使用ARM64架构,需要安装Miniforge3-Linux-aarch64。
安装后:
source ~/.bashrc
conda --version
三、创建环境
conda create -n ler python=3.10 -y
conda activate ler
四、安装Jetson专用PyTorch
不要直接pip install torch,否则可能安装CPU版本。
安装NVIDIA Jetson wheel:
torch-2.5.0a0+872d972e41.nv24.08.17622132-cp310-cp310-linux_aarch64.whl
命令:
pip install ./torch-2.5.0a0+872d972e41.nv24.08.17622132-cp310-cp310-linux_aarch64.whl
五、解决cuDNN缺失
错误:
ImportError: libcudnn.so.9
安装:
sudo apt install libcudnn9-cuda-12 libcudnn9-dev-cuda-12 -y
sudo ldconfig
六、解决cuSPARSELt缺失
错误:
ImportError: libcusparseLt.so.0
安装:
pip install nvidia-cusparselt-cu12
配置:
export LD_LIBRARY_PATH=$HOME/miniforge3/envs/lerobot/lib/python3.10/site-packages/nvidia/cusparselt/lib:$LD_LIBRARY_PATH
七、NumPy兼容
执行:
pip install numpy==1.26.4
八、验证PyTorch CUDA
Python:
import torch
print(torch.__version__)
print(torch.version.cuda)
print(torch.cuda.is_available())
成功:
torch=2.5.0a0+872d972e41.nv24.08
CUDA=12.6
GPU=True
九、安装torchvision
PyTorch 2.5对应torchvision 0.20.0。
安装依赖:
sudo apt install libjpeg-dev zlib1g-dev libpython3-dev libopenblas-dev libavcodec-dev libavformat-dev libswscale-dev -y
下载:
git clone --branch v0.20.0 https://github.com/pytorch/vision torchvision
编译:
cd torchvision
export BUILD_VERSION=0.20.0
python setup.py install
坑一:装完发现是CPU版本(is_available()为False)
现象:
执行 torch.cuda.is_available() 返回 False,或者 torch.version.cuda 为 None。
原因:
Jetson Orin采用ARM64(aarch64)架构,与普通PC的x86_64环境不同。
直接执行 pip install torch 时,PyPI默认不会提供针对Jetson L4T环境优化的CUDA版本,容易安装CPU版本或者CUDA版本不匹配的版本。
解决:
卸载错误版本:
pip uninstall torch torchvision torchaudio -y
不要使用普通PyPI安装,需要安装NVIDIA针对Jetson编译的PyTorch wheel。
示例:
pip install ./torch-2.5.0a0+872d972e41.nv24.08.17622132-cp310-cp310-linux_aarch64.whl
验证:
import torch
print(torch.__version__)
print(torch.version.cuda)
print(torch.cuda.is_available())
坑二:PyTorch导入失败,缺少libcudnn.so.9
现象:
import torch时报错:
ImportError: libcudnn.so.9: cannot open shared object file
原因:
Jetson版本PyTorch依赖系统CUDA组件。
NVIDIA提供的wheel不会自动包含所有底层CUDA动态库,需要系统安装cuDNN。
解决:
安装cuDNN:
sudo apt install libcudnn9-cuda-12 libcudnn9-dev-cuda-12 -y
刷新动态链接:
sudo ldconfig
检查:
find / -name "libcudnn.so*" 2>/dev/null
坑三:缺少libcusparseLt.so.0
现象:
安装cuDNN后仍然无法import torch:
ImportError:
libcusparseLt.so.0: cannot open shared object file
原因:
新版NVIDIA PyTorch依赖cuSPARSELt库。
JetPack默认环境可能没有该动态库。
解决:
安装:
pip install nvidia-cusparselt-cu12
查找:
find ~/miniforge3/envs/lerobot -name "libcusparseLt.so*"
配置动态库:
export LD_LIBRARY_PATH=$HOME/miniforge3/envs/lerobot/lib/python3.10/site-packages/nvidia/cusparselt/lib:$LD_LIBRARY_PATH
建议写入 ~/.bashrc 永久保存。
坑四:NumPy版本兼容问题
现象:
import torch时出现:
A module that was compiled using NumPy 1.x cannot be run in NumPy 2.x
原因:
NVIDIA Jetson PyTorch wheel基于NumPy 1.x编译,而环境默认安装NumPy 2.x。
解决:
pip install numpy==1.26.4
坑五:Torchvision无法直接安装GPU版本
现象:
pip install torchvision失败,或者版本不匹配。
原因:
Jetson ARM生态相比PC x86不完善,torchvision需要严格匹配PyTorch版本。
PyTorch 2.5对应:
torchvision 0.20.0
解决:
安装依赖:
sudo apt install libjpeg-dev zlib1g-dev libpython3-dev libopenblas-dev libavcodec-dev libavformat-dev libswscale-dev -y
下载:
git clone --branch v0.20.0 https://github.com/pytorch/vision torchvision
编译:
cd torchvision
export BUILD_VERSION=0.20.0
python setup.py install
坑六:下载大文件SSL中断
现象:
SSL: UNEXPECTED_EOF_WHILE_READING
原因:
PyTorch wheel和CUDA相关包体积较大,网络波动容易导致pip下载失败。
解决:
使用wget断点续传:
wget -c 文件地址
下载完成后:
pip install 文件.whl
比pip在线安装更加稳定。
总结与收获
1. ARM边缘设备与PC环境完全不同。
PC:
x86_64 + CUDA Driver + pip install torch
Jetson:
ARM64 + JetPack + L4T + CUDA + cuDNN + NVIDIA专用PyTorch
2. 深度学习环境不仅是Python包问题:
Python
↓
PyTorch
↓
CUDA
↓
cuDNN
↓
GPU Driver
↓
硬件
任何一层缺失都会导致GPU不可用。
3. Jetson环境推荐:
wget断点下载 + wheel本地安装 + 源码编译。
最终环境:
Jetson AGX Orin
↓
JetPack R36.5
↓
CUDA 12.6
↓
cuDNN 9.3
↓
cuSPARSELt
↓
PyTorch 2.5.0a0+nv24.08
↓
Torchvision 0.20.0
↓
LeRobot 0.4.4