ValueError: Object arrays cannot be loaded when allow_pickle=False
描述:
使用numpy的函数 numpy.load() 加载数据时报错:ValueError: Object arrays cannot be loaded when allow_pickle=False。
报错原因
- 有前辈说是numpy1.6版本以前的漏洞,但更新到最新,还是没用。
- 自Numpy 1.16.3版本发行后,函数 numpy.load() 和 numpy.lib.format.read_array() 采用allow_pickle关键字;现在默认为False。
解决方法:
第一种情况:
allow_pickle=False,数据下载出错。定位到出问题的源代码,将allow_pickle=False注释掉。
第二种情况:
将Numpy版本降级到1.16.2或以下。使用pip/conda命令,输入:
pip install numpy==1.16.2
或
conda install numpy==1.16.2
还有一种可以尝试的解决方法,仅供参考:
1. 找到出问题的文件
2. 将np.load(path) 改为np.load(path, allow_pickle=True)
3. 保存更改,重启编辑编译环境。