快捷方式

在 Jetson 上构建

1. 安装 JetPack

JetPack 包含运行 PyTorch 与 CUDA 所需的 CUDA 相关库集合。

请参考 https://developer.nvidia.com/embedded/learn/get-started-jetson-agx-orin-devkit 获取最新的说明。

sudo bash -c 'echo "deb https://repo.download.nvidia.com/jetson/common r34.1 main" >> /etc/apt/sources.list.d/nvidia-l4t-apt-source.list'
sudo bash -c 'echo "deb https://repo.download.nvidia.com/jetson/t234 r34.1 main" >> /etc/apt/sources.list.d/nvidia-l4t-apt-source.list'

sudo apt update
sudo apt dist-upgrade

# REBOOT

sudo apt install nvidia-jetpack

检查版本

要检查已安装的版本,可以使用以下命令;

# JetPack
$ apt list --installed | grep nvidia-jetpack

nvidia-jetpack-dev/stable,now 5.0.1-b118 arm64 [installed,automatic]
nvidia-jetpack-runtime/stable,now 5.0.1-b118 arm64 [installed,automatic]
nvidia-jetpack/stable,now 5.0.1-b118 arm64 [installed]

# CUDA
$ apt list --installed | grep cuda-toolkit

cuda-toolkit-11-4-config-common/stable,now 11.4.243-1 all [installed,automatic]
cuda-toolkit-11-4/stable,now 11.4.14-1 arm64 [installed,automatic]
cuda-toolkit-11-config-common/stable,now 11.4.243-1 all [installed,automatic]
cuda-toolkit-config-common/stable,now 11.4.243-1 all [installed,automatic]

# cuDNN
$ apt list --installed | grep cudnn

libcudnn8-dev/stable,now 8.3.2.49-1+cuda11.4 arm64 [installed,automatic]
libcudnn8-samples/stable,now 8.3.2.49-1+cuda11.4 arm64 [installed,automatic]
libcudnn8/stable,now 8.3.2.49-1+cuda11.4 arm64 [installed,automatic]
nvidia-cudnn8-dev/stable,now 5.0.1-b118 arm64 [installed,automatic]
nvidia-cudnn8-runtime/stable,now 5.0.1-b118 arm64 [installed,automatic]
https://download.pytorch.org/torchaudio/doc-assets/jetson-package-versions.png

2. [可选] 安装 jtop

由于 Tegra GPU 不受 nvidia-smi 命令支持,建议安装 jtop

只有超级用户才能安装 jtop。因此,请确保添加 -U,这样运行 jtop 就无需超级用户权限。

3. 在用户环境中安装 pip

默认情况下,pip / pip3 命令使用系统目录 /usr/bin/ 中的命令,其 site-packages 目录受保护,无法在没有 sudo 的情况下修改。

解决此问题的一种方法是在用户目录中安装 pip

https://forums.developer.nvidia.com/t/python-3-module-install-folder/181321

wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py --user

完成此操作后,请验证 pip 命令是否指向用户目录中的命令。

$ which pip
/home/USER/.local/bin/pip

4. 安装 PyTorch

截至 PyTorch 1.13 和 torchaudio 0.13,没有针对 Linux ARM64 的官方预构建二进制文件。Nidia 为 PyTorch 提供了自定义预构建的二进制文件,这些文件适用于特定的 JetPack。

请参考 https://docs.nvidia.com/deeplearning/frameworks/install-pytorch-jetson-platform/index.html 获取有关如何安装 PyTorch 的最新说明。

$ package=torch-1.13.0a0+340c4120.nv22.06-cp38-cp38-linux_aarch64.whl
$ wget "https://developer.download.nvidia.com/compute/redist/jp/v50/pytorch/${package}"
$ pip install --no-cache "${package}"

通过检查版本和 CUDA 设备的可访问性来验证安装。

$ python -c '

import torch
print(torch.__version__)
print(torch.cuda.is_available())
print(torch.empty((1, 2), device=torch.device("cuda")))
'
1.13.0a0+410ce96a.nv22.12
True
tensor([[0., 0.]], device='cuda:0')
https://download.pytorch.org/torchaudio/doc-assets/jetson-torch.png

5. 构建 TorchAudio

1. 安装构建工具

pip install cmake ninja

2. 安装依赖项

sudo apt install ffmpeg libavformat-dev libavcodec-dev libavutil-dev libavdevice-dev libavfilter-dev

3. 构建 TorchAudio

git clone https://github.com/pytorch/audio
cd audio
USE_CUDA=1 pip install -v -e . --no-use-pep517

4. 检查安装

import torchaudio

print(torchaudio.__version__)

torchaudio.utils.ffmpeg_utils.get_build_config()
2.0.0a0+2ead941
--prefix=/usr --extra-version=0ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/aarch64-linux-gnu --incdir=/usr/include/aarch64-linux-gnu --arch=arm64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
https://download.pytorch.org/torchaudio/doc-assets/jetson-verify-build.png

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取针对初学者和高级开发者的深入教程

查看教程

资源

查找开发资源并获得解答

查看资源