1. 程式人生 > >關於cifar-10資料集讀取問題

關於cifar-10資料集讀取問題

資料集下載後是特定格式,需要編寫函式進行讀取。讀取後是dict格式,有4個鍵及其對應的若干值,如何準確讀取並修改影象維度,使用reshape會發現資料錯亂。

每個檔案中資料儲存格式為dict字典,鍵值為b’data’的為圖片資料,是一個10000 * 3072(32 * 32 * 3)的numpy向量,10000表示圖片張數,3072中前1024個表示Red通道資料,中間1024個表示Green通道資料,最後1024個表示Blue通道資料,資料範圍是0-255,表示畫素點灰度。鍵值為b’labels’表示對應的標籤,是一個長度為10000的 list,資料範圍是0-9,分別表示10個類別。

另外要說明的是卷積濾波器卷積的是32 * 32 * 3格式的資料,32 * 32代表圖片一個通道格式,3表示RGB 3個通道,然而依據其資料表示格式,在 reshape 3072維度的向量的時候必須首先reshape成3 * 32 * 32格式的向量,否則會破壞圖片原本格式,怎麼辦呢,轉置!類似於矩陣的轉置,三維向量也有轉置,tensorflow提供transpose方法對三維向量作轉置。