在Jetson上跑一个PyTorch推理程序,安装完基础环境之后,根据CUDA版本安装PyTorch。
CUDA版本为11.4:
然后通过PyTorch官网获取安装命令行:
安装成功后,运行推理程序时出现题目中的Error:
测试CUDA,发现不可用:
最开始怀疑PyTorch的CUDA版本问题,于是升级到11.6,该问题依然存在。
后来的定位经过:
(1) JetPack与PyTorch的兼容性问题,参考链接PyTorch for Jetson - version 1.11 now available - Jetson Nano - NVIDIA Developer Forums
尝试下载了如下文件,但安装时提示与Platform不匹配。
torch-1.12.0a0+2c916ef.nv22.3-cp38-cp38-linux_aarch64.whl
(2) Python版本问题:各项资料均提到目前Jetson上只能支持Python3.6,而我们装的是Python3.8。不过该步未验证,后来定位到了第(3)种原因后问题直接解决了。
(3) 终极方案
最后查找到该网页:PyTorch for Jetson Platform
该网页给出了JetPack版本和PyTorch版本的对应关系:
我们的JetPack使用的是5.0.1,按照上面表格,应该使用1.13的PyTorch版本,而我们之前一直安装的都是1.12。
通过该链接找到了适用于Jetson的PyTorch1.13版本下载地址:https://developer.download.nvidia.cn/compute/redist/jp/v50/pytorch/
下载需要的版本并安装,然后,问题就这样解决了!