1. 程式人生 > >Tensorflow入門教程之手寫數字MINST識別

Tensorflow入門教程之手寫數字MINST識別

Tensorflow入門教程之手寫數字MINST識別

MNIST是在機器學習領域中的一個經典問題。該問題解決的是把28x28畫素的灰度手寫數字圖片識別為相應的數字,其中數字的範圍從0到9.

MNIST 資料下載

Yann LeCun's MNIST page也提供了訓練集與測試集資料的下載。

檔案 內容
train-images-idx3-ubyte.gz 訓練集圖片 - 55000 張 訓練圖片, 5000 張 驗證圖片
train-labels-idx1-ubyte.gz 訓練集圖片對應的數字標籤
t10k-images-idx3-ubyte.gz 測試集圖片 - 10000 張 圖片
t10k-labels-idx1-ubyte.gz 測試集圖片對應的數字標籤

input_data.py 檔案中, maybe_download() 函式可以確保這些訓練資料下載到本地資料夾中。

資料夾的名字在fully_connected_feed.py 檔案的頂部由一個標記變數指定,你可以根據自己的需要進行修改。

底層的原始碼將會執行下載、解壓、重構圖片和標籤資料來組成以下的資料集物件:

資料集 目的
data_sets.train 55000 組 圖片和標籤, 用於訓練。
data_sets.validation 5000 組 圖片和標籤, 用於迭代驗證訓練的準確性。
data_sets.test 10000 組 圖片和標籤, 用於最終測試訓練的準確性。

執行read_data_sets()函式將會返回一個DataSet例項,其中包含了以上三個資料集。函式DataSet.next_batch()是用於獲取以batch_size為大小的一個元組,其中包含了一組圖片和標籤,該元組會被用於當前的TensorFlow運算會話中。

images_feed, labels_feed = data_set.next_batch(FLAGS.batch_size)