VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tupl

构造一个多维数组时,出现问题:

VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray.
  x=np.array(data)

该问题非常明确地指出,数组的维度不一致,无法使用np.array()将列表转换成数组。例如,

[[1,2]

[4,5,6,7]]

列表这样可以,但是转换为array就有问题了。因为数组要求维度一致,简单说,同样的行、同样的列。

所以会出现上述提示。

需要注意,这里出现的是警告。通常来说,是不用处理的。

有个故事:

在一个景点的山崖边,有个“警告:危险请勿下跳”

大家看到牌子都很小心,结果一个穿着牛仔裤、格子衫、背着双肩包的人走过来,看到牌子,就纵身跃下去了。

结果,才知道,跳下去的是程序员。因为他们知道,凡是警告都不是错误,执行它,肯定不会出错。

上述这个警告,和其他警告不一样,执行它,会产生意想不到的错误,或者说,相当于埋下一枚炸弹,随时爆炸,所以,必须引起重视。

另外,这个错误,仅仅在高版本中才会提醒。使用低版本需要自己排查注意该问题。

错误出现场景:

我在整理文件夹下的图像,尝试构造一个array。

实际上,文件夹下面的文件大小不一致,出现了该错误。

解决方案:把源图像文件设置成同样大小,然后再构造数组。

 

来源:superdont

物联沃分享整理
物联沃-IOTWORD物联网 » VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tupl

发表评论