在 Jetson 平台上安装 PyTorch
Jetson 平台上的 PyTorch
PyTorch (适用于 JetPack) 是一个针对深度学习优化的张量库,使用 GPU 和 CPU。自动微分通过基于磁带的系统在功能层和神经网络层级别完成。此功能为深度学习框架带来了高度的灵活性和速度,并提供了加速的类 NumPy 功能。这些 NVIDIA 提供的可再发行组件是 PyTorch 的 Python pip wheel 安装程序,具有 GPU 加速和对 cuDNN 的支持。这些软件包旨在安装在指定版本的 JetPack 之上,如提供的文档中所述。
Jetson AGX Xavier
适用于 Jetson 平台的 NVIDIA Jetson AGX Xavier 开发者套件是世界上首款面向自主机器的人工智能计算机。Jetson AGX Xavier 在功耗低于 30W 的嵌入式模块中提供了 GPU 工作站的性能。
Jetson AGX Orin
NVIDIA Jetson AGX Orin 开发者套件包含高性能、高能效的 Jetson AGX Orin 模块,并且可以模拟其他 Jetson 模块。现在,您拥有高达 275 TOPS 的性能,以及在相同紧凑外形尺寸中 NVIDIA Jetson AGX Xavier 8 倍的性能,用于开发先进的机器人和其他自主机器产品。
Jetson Xavier NX
NVIDIA Jetson Xavier NX 将超级计算机性能带到边缘,采用小型系统级模块。高达 21 TOPS 的加速计算提供了强大的动力,可以并行运行现代神经网络并处理来自多个高分辨率传感器的数据——这是完整 AI 系统的要求。
1.1. Jetson 平台上的 PyTorch 的优势
在 Jetson 平台上安装 PyTorch 使您可以访问轻量级移动平台上的最新版本框架。
-
在您的 Jetson 设备上安装 JetPack。
-
安装 PyTorch 所需的系统软件包
sudo apt-get -y update; sudo apt-get install -y python3-pip libopenblas-dev;
- 如果安装 24.06 或更高版本的 PyTorch,则需要首先安装 cusparselt
wget raw.githubusercontent.com/pytorch/pytorch/5c6af2b583709f6176898c017424dc9981023c28/.ci/docker/ common/install_cusparselt.sh export CUDA_VERSION=12.1 # as an example bash ./install_cusparselt.sh
接下来,按照以下步骤安装 PyTorch
-
使用以下命令导出
export TORCH_INSTALL=https://developer.download.nvidia.cn/compute/redist/jp/v511/pytorch/torch-2.0.0+nv23.05-cp38-cp38-linux_aarch64.whl
或者,下载 wheel 文件并进行设置。
export TORCH_INSTALL=path/to/torch-2.2.0a0+81ea7a4+nv23.12-cp38-cp38-linux_aarch64.whl
-
安装 PyTorch。
python3 -m pip install --upgrade pip; python3 -m pip install numpy==’1.26.1’; python3 -m pip install --no-cache $TORCH_INSTALL
如果您要安装特定版本的 PyTorch,请将 TORCH_INSTALL
替换为
https://developer.download.nvidia.com/compute/redist/jp/v$JP_VERSION/pytorch/$PYT_VERSION
其中
-
JP_VERSION
- 您正在使用的 JetPack 的主要版本和次要版本,例如 JetPack 4.6.1 的
461
或 JetPack 5.0 的50
。 -
PYT_VERSION
- PyTorch wheel 的已发布版本,如兼容性矩阵中所示。
2.1. 安装多个 PyTorch 版本
如果您想同时拥有多个版本的 PyTorch,可以使用虚拟环境来实现。请参见下文。
设置虚拟环境
首先,安装 virtualenv
软件包并创建一个新的 Python 3 虚拟环境
$ sudo apt-get install virtualenv
$ python3 -m virtualenv -p python3 <chosen_venv_name>
激活虚拟环境
接下来,激活虚拟环境
$ source <chosen_venv_name>/bin/activate
安装所需版本的 PyTorch
pip3 install --no-cache https://developer.download.nvidia.com/compute/redist/jp/v51/pytorch/<torch_version_desired>
停用虚拟环境
最后,停用虚拟环境
$ deactivate
运行特定版本的 PyTorch
设置虚拟环境后,只需激活它即可访问特定版本的 PyTorch。使用后请务必停用环境
$ source <chosen_venv_name>/bin/activate
$ <Run the desired PyTorch scripts>
$ deactivate
2.2. 升级 PyTorch
要升级到更新版本的 PyTorch(如果有),请卸载当前的 PyTorch 版本,并参考先决条件和安装以安装新的所需版本。
加入 NVIDIA Jetson 和嵌入式系统社区,讨论特定于 Jetson 平台的问题。
声明
本文档仅供参考,不得视为对产品的特定功能、条件或质量的保证。NVIDIA Corporation (“NVIDIA”) 对本文档中包含的信息的准确性或完整性不作任何明示或暗示的陈述或保证,并且对本文档中包含的任何错误不承担任何责任。NVIDIA 对因使用此类信息或因使用此类信息而可能导致的侵犯第三方专利或其他权利的行为的后果或使用不承担任何责任。本文档不构成对开发、发布或交付任何材料(如下定义)、代码或功能的承诺。
NVIDIA 保留随时对此文档进行更正、修改、增强、改进和任何其他更改的权利,恕不另行通知。
客户在下订单之前应获取最新的相关信息,并应验证此类信息是否为最新且完整。
除非 NVIDIA 和客户的授权代表签署的个别销售协议(“销售条款”)另有约定,否则 NVIDIA 产品的销售受订单确认时提供的 NVIDIA 标准销售条款和条件的约束。NVIDIA 在此明确反对将任何客户通用条款和条件应用于购买本文档中引用的 NVIDIA 产品。本文档不直接或间接地构成任何合同义务。
NVIDIA 产品并非设计、授权或保证适用于医疗、军事、航空、航天或生命支持设备,也不适用于 NVIDIA 产品的故障或失灵可能合理预期会导致人身伤害、死亡或财产或环境损害的应用。NVIDIA 对在上述设备或应用中包含和/或使用 NVIDIA 产品不承担任何责任,因此,此类包含和/或使用由客户自行承担风险。
NVIDIA 不保证或声明基于本文档的产品将适用于任何特定用途。NVIDIA 不一定对每个产品的所有参数进行测试。客户有责任评估和确定本文档中包含的任何信息的适用性,确保产品适合并满足客户计划的应用,并为该应用执行必要的测试,以避免应用或产品的默认设置。客户产品设计中的缺陷可能会影响 NVIDIA 产品的质量和可靠性,并可能导致超出本文档中包含的附加或不同条件和/或要求。对于可能基于或归因于以下原因的任何默认设置、损坏、成本或问题,NVIDIA 不承担任何责任:(i) 以任何违反本文档的方式使用 NVIDIA 产品,或 (ii) 客户产品设计。
本文档未授予 NVIDIA 专利权、版权或其他 NVIDIA 知识产权下的任何明示或暗示的许可。NVIDIA 发布的有关第三方产品或服务的信息不构成 NVIDIA 授予使用此类产品或服务的许可,也不构成对其的保证或认可。使用此类信息可能需要获得第三方专利或第三方其他知识产权下的许可,或者获得 NVIDIA 专利或 NVIDIA 其他知识产权下的许可。
只有在事先获得 NVIDIA 书面批准的情况下,才可以复制本文档中的信息,复制时不得进行更改,并且必须完全遵守所有适用的出口法律和法规,并附带所有相关的条件、限制和声明。
本文档以及所有 NVIDIA 设计规范、参考板、文件、图纸、诊断程序、列表和其他文档(统称为“材料”)均按“原样”提供。NVIDIA 对材料不作任何明示、暗示、法定或其他形式的保证,并明确否认所有关于非侵权性、适销性和特定用途适用性的默示保证。在法律未禁止的范围内,在任何情况下,NVIDIA 均不对因使用本文档而引起的任何损害(包括但不限于任何直接、间接、特殊、偶然、惩罚性或后果性损害,无论因何种原因造成,也无论责任理论为何)承担责任,即使 NVIDIA 已被告知可能发生此类损害。尽管客户可能因任何原因遭受任何损害,但 NVIDIA 对本文所述产品的客户承担的累计总责任应根据产品的销售条款进行限制。
HDMI
HDMI、HDMI 徽标和 High-Definition Multimedia Interface 是 HDMI Licensing LLC 的商标或注册商标。
OpenCL
OpenCL 是 Apple Inc. 的商标,已获得 Khronos Group Inc. 的许可使用。
商标
NVIDIA、NVIDIA 徽标以及 cuBLAS、CUDA、DALI、DGX、DGX-1、DGX-2、DGX Station、DLProf、Jetson、Kepler、Maxwell、NCCL、Nsight Compute、Nsight Systems、NvCaffe、PerfWorks、Pascal、SDK Manager、Tegra、TensorRT、Triton Inference Server、Tesla、TF-TRT 和 Volta 是 NVIDIA Corporation 在美国和其他国家/地区的商标和/或注册商标。其他公司和产品名称可能是与其相关的各自公司的商标。