报错解决 ValueError: Object arrays cannot be loaded when allow_pickle=False

一、运行报错

在这里插入图片描述

二、问题解决

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) 代码修改如下:
修改前:
在这里插入图片描述

修改后:
在这里插入图片描述

三、参考博文

其他方法

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值