树莓派安装pytorch:解决UserWarning: Failed to initialize NumPy: module compiled against API version 0xe b...

问题描述:

在树莓派4b上安装pytorch(64位)后,使用pycharm远程编写并运行已导入numpy和torch包的程序时,发现结果中会出现“UserWarning: Failed to initialize NumPy: module compiled against API version 0xe but this version of numpy is 0xd......”的提示。(忘记截屏了,但大致意思是当前numpy版本和pytorch所需的numpy版本不匹配。
经过试验,该提示出现时不会对numpy的使用造成影响,但会影响torch.from_numpy的使用(报错信息:Numpy is not available)。不确定是否还会影响torch中其他方法的使用,为消除该隐患决定采取相关措施(前面是采坑过程,可以直接跳过。。。)

采坑过程:

在树莓派上使用常用的pip命令查看当前numpy版本:

pip show numpy

显示为1.16.1(忘记截图)

使用pip install numpy后发现版本更改为1.21.4(通过pycharm-settings看到1.21.4确实是当前numpy的最新版),但上述提示依旧没有消除。原因是用pip install这种方法安装的位置是.../site-packages,而不是.../dist-pachages。(关于不同安装方法对应安装位置的详细解释参考该博客:https://blog.csdn.net/u014435314/article/details/80949280)于是用:

sudo apt-get install python3-numpy

这回再用pip show numpy发现location确实是.../dist-packages,但安装的版本是1.16.2。。。于是想起了最后一种安装方法,这个方法也是安装pytorch的方法。

解决方案:

采用安装pytorch类似的方法。使用如下命令安装:

sudo -H pip3 install <文件名>

其中文件名是numpy的whl文件,在下面地址下载:
https://pypi.org/project/numpy/#files
注意,python版本(选3.7,和pytorch的whl文件一致)
这是我已安装并当前正在使用的pytorch的whl文件:

image.png

与之对应选择numpy的whl文件:


image.png

cp37即为python3.7版本
下载numpy的whl文件后不要直接使用,要进行改名,改名方法参考博客:https://blog.csdn.net/u011941438/article/details/114605718
上图中numpy的whl文件改名后的名字:numpy-1.21.4-cp37-cp37m-linux_aarch64.whl
将改完名后的whl文件通过VNC上传至树莓派再用上面命令安装即可。
最后用pip show install查看:

image.png

可以看到已经在../dist-packages目录下安装了所需的1.21.4版本,并且在pycharm上再次运行程序时已经没有“UserWarning...”这个提示了

附:文中pytorch的whl文件下载地址

https://pypi.org/project/torch/#files

你可能感兴趣的:(树莓派安装pytorch:解决UserWarning: Failed to initialize NumPy: module compiled against API version 0xe b...)