首页 > 解决方案 > 用于树莓派 3 B+ 的 Pytorch

问题描述

我已经成功地为 Raspberry Pi3 B+ 交叉编译了 Pytorch 1.7,结果生成了以下轮子:

torch-1.7.0a0-cp37-cp37m-linux_armv7l.whl

但是,当我尝试在 pi 上安装轮子时,出现此错误:

ERROR: torch-1.7.0a0-cp37-cp37m-linux_armv7l.whl is not a supported wheel on this platform.

当我执行 lscpu 时,我看到 arm7l 已正确用作目标硬件:

    Architecture:          armv7l
    Byte Order:            Little Endian
    CPU(s):                4
    On-line CPU(s) list:   0-3
    Thread(s) per core:    1
    Core(s) per socket:    4
    Socket(s):             1
    Model:                 4
    Model name:            ARMv7 Processor rev 4 (v7l)
    CPU max MHz:           1400.0000
    CPU min MHz:           600.0000
    BogoMIPS:              38.40
    Flags:                 half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32

这是 pep425tags 的输出:

[('cp38', 'cp38', 'linux_armv7l'), ('cp38', 'abi3', 'linux_armv7l'), 
('cp38', 'none', 'linux_armv7l'), ('cp37', 'abi3', 'linux_armv7l'), 
('cp36', 'abi3', 'linux_armv7l'), ('cp35', 'abi3', 'linux_armv7l'), 
('cp34', 'abi3', 'linux_armv7l'), ('cp33', 'abi3', 'linux_armv7l'), 
('cp32', 'abi3', 'linux_armv7l'), ('py3', 'none', 'linux_armv7l'), 
('cp38', 'none', 'any'), ('cp3', 'none', 'any'), ('py38', 'none', 
'any'), ('py3', 'none', 'any'), ('py37', 'none', 'any'), ('py36', 
'none', 'any'), ('py35', 'none', 'any'), ('py34', 'none', 'any'), 
('py33', 'none', 'any'), ('py32', 'none', 'any'), ('py31', 'none', 
'any'), ('py30', 'none', 'any')]

所以我想知道,我错过了什么?

标签: armpytorchraspberry-pi3cross-compiling

解决方案


我最终找到了答案,我的目标硬件(树莓派 3B+)上有 python 3.8,我的构建系统上使用了 python 3.7。在目标硬件上将 python 3.8 降级到 python 3.7 解决了这个问题。


推荐阅读