写在前面
ARM架构下的 torch 安装比较烦人,不是麻烦,而是烦人。
网络上大部分教程虽然写着“Jetson的torch安装”,不过基本都是用官方stable的whl安装,这些安装本身没有什么问题,但是官方ARM架构的torch并不支持 CUDA,torchvision 亦如是。
这个方法也并不是我原创,如果你碰巧没有找到正确的安装方法但是看到了这篇文章,希望能够节约你的生命。
Doesn't work
XINFINFZ 在文章 nvidia jetson nano如何安装cuda版的pytorch_jetson pytorch cuda-CSDN博客 中使用别人预编译好的torch轮子: Qengineering/PyTorch-Jetson-Nano: PyTorch installation wheels for Jetson Nano (github.com) 在页面中能看到操作系统和对应的Torch/Vision版本,轮子需要Google Drive下载,我用 pip
在conda虚拟环境中安装后,出现了不能调用 CUDA 的问题。
他也提到了自行编译的方法,我没试,不过理论上是可行的,因为下面的方法就需要自行编译。
It works
jupiter 在博客 Jetson 系列开发板(NX/AGX /Nano)搭建pytorch-gpu环境 - jupiter's blog (inat.top) 中的方法则是有效的。要注意的是:Torch 和Torchvision必须都是CUDA版本的才可以,而且版本号也需要匹配,即vision比torch大一个小版本号。
我安装的是Torch 1.13.0和Torchvision 0.14.0。
GPU版本的Torch安装 PyTorch for Jetson - Jetson & Embedded Systems / Announcements - NVIDIA Developer Forums 这是NVIDIA官方提供的轮子,不过只有Torch而没有vision的。
因此我们需要自行编译Torchvision:
git clone https://github.com/pytorch/vision.git vision-0.14.0
cd vision-0.14.0
export BUILD_VERSION=0.14.0
python setup.py install
等待install完成后,Torchvision即可使用。
测试:
(base) funnywii@funnywii-XPS-4060Ti:~$ python
Python 3.10.9 (main, Mar 1 2023, 18:23:06) [GCC 11.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> torch.cuda.is_available()
True
>>>
参考文章
[1] https://blog.inat.top/archives/425/comment-page-1#comment-51
[2] https://blog.csdn.net/weixin_43945848/article/details/127122522