本篇记录解决“ValueError: Object arrays cannot be loaded when allow_pickle=False”错误的三种方法。
在编译Sandberg的facenet代码时,出现了如下错误:
查看官方文档,关于该参数的说明如下:
由上面说明可知,在1.16.3版本后,allow_pickle的值默认设为False。所以,第一种解决方案是将numpy降版本到1.16.2以下:
pip install numpy==1.16.2
经查看,我的numpy版本是1.20.3:
不太想安装旧的版本,于是网上查找有无其他解决方法。大概有两种:
1. 在numpy.load()函数调用的地方将allow_pickle值设置为True,本人工程中设置如下:
2. 定位到报错的地方,将报错代码注释掉。如下图所示,将红框内的代码注释掉后,该错误消失,亲测有效。