卷积层尺寸减小

时间:2017-05-23 09:22:07

标签: python image numpy neural-network

我正在使用Cifar-10数据集。数据的原始形状是(50000,3072),其中有50000个图像,并且对于每个图像,前1024个像素是红色,接下来的1024个是绿色,接下来的1024个是蓝色。它们以行主格式存储,因此红色的前32个像素是第32行像素的红色。

到目前为止,我已成功将其转换为一个形状为numpy的数组(50000,32,32,3)

trainX.reshape((-1,3,32,32)).transpose([0,2,3,1])

代表50000个图像,32列×32行,每个像素3个颜色强度,但我在数据正规化方面遇到了麻烦。

以下对所有颜色的强度进行了平均,但这并不是真正应该发生的事情,每种颜色应该平均所有颜色仅在数据中自己的颜色强度< / p>

trainX = (trainX-np.mean(trainX))/np.std(trainX)

有没有一种有效的方法来按颜色规范这些数据?是否有更常见的方法来准备这种类型的数据以输入卷积神经网络(例如将图像转换为灰度),或者为网络提供多个颜色平面是否有好处?

1 个答案:

答案 0 :(得分:1)

您想迭代三种颜色强度吗? 这可以通过以下方式完成:

[(trainX[:,:,:,i]-np.mean(trainX[:,:,:,i]))/np.std(trainX[:,:,:,i]) for i in range(np.shape(trainX)[3])]