axes don‘t match array

axis don’t match array的问题

写一个神经网络进行图像分类,在读取数据的部分报错如下

(1)numpy.core._exceptions.UFuncTypeError: Cannot cast ufunc ‘subtract’ output from dtype(‘float64’) to dtype(‘uint8’) with casting rule ‘same_kind’
在这里插入图片描述
however,发现如果把报错的那句A-=B 改为 A=A-B,这个报错就解决了

#X_trian=X_train-mean_image  改
X_trian=X_train-mean_image

有人说原因是:

It may be a numpy/broadcasting issue in python

(2)原代码中,上面的命令下面还有命令如下,这时又报错
axes don’t match array

 X_train = X_train.transpose(0, 3, 1, 2).copy()

在这里插入图片描述
搜了很多,有一个说法是:你的数据集中有灰度图

PIL Image will give you 2 dimension output if it is grayscale image. (e.g. (64, 64, 1) -> (64, 64))

所以解决办法:
(1)将 X_train 进行reshape为和输入一样格式,我用了这个方法有效

    X_train=X_train.reshape(-1,3,32,32)

(2)转换读图模式image.open(filename) .convert(‘RGB’)
我没试过,可以试试

参考:
开源项目问答

https://github.com/statsmodels/statsmodels/issues/3504

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值