本文由@ray 出品,轉載請注明出處。
文章鏈接: http://www.cnblogs.com/wolfray/p/7828901.html
一、介紹
MNIST(Mixed National Institute of Standards and Technology database)是網上著名的公開數據庫之一,是一個入門級的計算機視覺數據集,它包含龐大的手寫數字圖片。
無論我們學習哪門程序語言,我們最開始的一件事就是學習打印”Hello World!”。就好比編程入門有Hello World,Tensorflow入門有MNIST,通常把它當做Tensorflow的入門級例程。
從事深度學習的研究,數據集是相當重要的。數據集提供了大量的數據作為訓練集和驗證集。在深度學習領域如果想要在某一個方面有比較深入的研究成果,那么除了具備設計算法、模型能力之外,還要有豐富的訓練樣本。
MNIST的官網是http://yann.lecun.com/exdb/mnist,從這個網站上面可以下載到4個數據文件(分別是訓練樣本、訓練標簽、測試樣本、測試標簽):
- train-images-idx3-ubyte.gz: training set images (9912422 bytes)
- train-labels-idx1-ubyte.gz: training set labels (28881 bytes)
- t10k-images-idx3-ubyte.gz: test set images (1648877 bytes)
-
t10k-labels-idx1-ubyte.gz: test set labels (4542 bytes)
下載到的圖片就像這種手寫數字一樣,但是提供的圖片格式並不是通用的圖片格式,用圖片瀏覽器是打不開的:
二、MNIST自帶模型分類
在下載下來的Tensorflow文件中,就已經自帶了MNIST的源碼,期中包含了以下5種模型:
- fully_connected_feed.py:MNIST采用Feed方式訓練
- mnist_deep.py:MNIST使用卷積神經網絡
- mnist_softmax.py:MNIST采用softmax回歸訓練
- mnist_softmax_xla.py:MNIST使用XLA框架
- mnist_with_summaries.py:MNIST使用卷積神經網絡(CNN),並且訓練的過程可視化