tensorflow实现手写数字识别(MNIST)
手寫數字圖片數字集
機器學習需要從數據中間學習,因此首先需要采集大量的真實樣本數據。以手寫的數字圖片識別為例,我們需要收集大量的由真人書寫的0-9的數字圖片,為了便于存儲和計算,一般把收集的原始圖片縮放到某個固定的大小(Size或Shape),比如224個像素的行和224個像素的列(224x 224),或者96個像素的行和96個像素的列(96x 96),這張圖片將作為輸入數據x。同時,我們需要給每一張圖片標注一個標簽(Label),它將作為圖片的真實值y,這個標簽表明這張圖片屬-一個具體的類別,一般通過映射方式將類別名–對應到從0開始編號的數字,比如說硬幣的正反面,我們可以用0來表示硬幣的反面,用1來表示硬幣的正面,當然也可以反過來1表示硬幣的反面,這種編碼方式叫作數字編碼(Number Encoding)。對于手寫數字圖片識別問題,編碼更為直觀,我們用數字的0-9表示類別為0-9的的圖片。
現在我們來看下圖片的表示方法。一張圖片包含了h行(HeightRow), w列(Width/Column),每個位置保存了像(Pixel)值,像素值一般使用0-255的整形數值來表達顏色強度信息,例如0表示強度最低,255 表示強度最高。如果是彩色圖片,則每個像素點包含了R、G、B三個通道的強度信息,分別代表紅色通道、綠色通道、藍色通道的顏色強度,所以與灰度圖片不同,它的每個像素點使用一個 1維、長度為3的向量(Vector)來表示,向量的3個元素依次代表了當前像素點上面的R、G、B顏色強值,因此彩色圖片需要保存為形狀是[h, w, 3]的張量(Tensor,可以通俗地理解為3維數組)。如果是灰度圖片,則使用一個數值來表示灰度強度,例如0表示純黑,255
總結
以上是生活随笔為你收集整理的tensorflow实现手写数字识别(MNIST)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 印度河为什么不在印度?
- 下一篇: LGK割枪和CUT割枪有什么区别?