我正在使用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列x 32行,每个像素3个颜色强度,但我在数据的正则化方面遇到了麻烦。
下面是所有颜色的平均强度,但这并不是真正应该发生的事情,每种颜色应该只在数据中平均所有它自己的颜色的强度
trainX = (trainX-np.mean(trainX))/np.std(trainX)有没有一种有效的方法来按颜色对这些数据进行正规化?有没有一种更常见的方法来准备这种类型的数据,以便输入到卷积神经网络中(例如将图像转换为灰度),或者为网络提供多个颜色平面是否有好处?
发布于 2017-05-23 17:37:10
你想迭代三种颜色强度吗?
这可以通过以下方式完成:
[(trainX[:,:,:,i]-np.mean(trainX[:,:,:,i]))/np.std(trainX[:,:,:,i]) for i in range(np.shape(trainX)[3])]https://stackoverflow.com/questions/44130759
复制相似问题