一、运行报错
二、问题解决
1.原因
(1) numpy版本不向下兼容所导致的,在1.16.3往后的版本中 np.load(path, boolean) ,其中boolean (allow_pickle) 默认值为false。在numpy官方文档 中给出:
Changed in version 1.16.3: Made default False in response to CVE-2019-6446.
版本1.16.3中更改: 在响应 CVE-2019-6446 时默认为'False'
(2) 官方文档链接:Numpy.load
(3) 查看自己的numpy版本
注:在win10环境下,因为自己使用的环境是名为pytorch的环境,所以先激活了存在的环境查看,根据自己的情况进入或者自己在base环境中查看。
(3.1) 打开 Anaconda Prompt(anaconda),输入:
1. activate pytorch
2. python
3. import numpy
4. numpy.__version__
(3.2) 显示如下,版本大于1.16.3,所以allow_pickle默认为False
2.解决
(1)
方法1:降低版本,降到1.16.3以下:先卸载当前的numpy,再下载指定版本的numpy
pip uninstall numpy
pip install numpy==1.16.2 #指定版本小于1.16.3就可以
方法2:直接在numpy.load函数中设置allow_pickle=True(自己使用的此方法)
(2) 代码修改如下:
修改前:
修改后: