2017-05-23 142 views
0

我正在使用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個的顏色強度,但我在正規化數據方面遇到了麻煩。

下平均在所有顏色的強度,但是這不是真的是應該發生的事情,每個顏色應該平均在所有它自己的顏色的強度的數據僅

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

是否有一個有效的方法通過顏色來規範這些數據?是否有更常見的方法來準備這種類型的數據以輸入卷積神經網絡(如將圖像轉換爲灰度),還是有利於爲網絡提供多個顏色平面?

回答

1

你想迭代三種顏色強度嗎?
這可以通過以下方式進行:

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

我想編輯到位或返回合併對象,這將創建三個不同的列表,但是切片結果確實讓我我想要的 –