天天看點

Tensorflow之Mnist入門

當我們學習程式設計的時候,第一件事情往往是學習如何列印出“Hello World”。正如程式設計中會有“Hello World”,Tensorflow中入門有mnist,關于mnist,谷歌官方給出了兩篇教程。下面簡單介紹下如何運作Tensorflow自帶的mnist的python程式。

Mnist是一個入門級的計算機視覺資料集,它包含各種手寫數字圖檔:

Tensorflow之Mnist入門

它也包含每一張圖檔對應的标簽,告訴我們這個是數字幾。比如,上面這四張圖檔的标簽分别是5,0,4,1。在此教程中,我們将訓練一個機器學習模型用于預測圖檔裡面的數字。

關于tensorflow手寫數字識别的大緻步驟:

1、将要識别的圖檔轉為灰階圖,并且轉化為28*28矩陣(單通道,每個像素範圍0-255,0為黑色,255為白色);

2、将28*28的矩陣轉換成1維矩陣(也就是把第2,3,4,5…….行矩陣紛紛接入到第一行的後面);

3、用一個1*10的向量表示标簽,也就是這個數字到底是幾;

4、softmax回歸預測圖檔是哪個數字的機率;

5、用交叉熵和梯度下降法訓練參數。

關于上述幾個步驟中所涉及到的softmax回歸預測以及交叉熵、梯度下降法等可參見以下博文連結:

http://www.jianshu.com/p/2186766b69dc

http://www.jianshu.com/p/4195577585e6

http://www.jianshu.com/p/a1dc77933763

http://www.cnblogs.com/flyu6/p/5555178.html

http://blog.csdn.net/wang_junjie/article/details/51303729

在運作mnist的入門示例程式的前提是正确安裝配置tensorflow。

(1)進入tensorflow的安裝目錄,如圖:

Tensorflow之Mnist入門

運作mnist目錄下的convolutional.py程式:

Tensorflow之Mnist入門

運作結果如下:

Tensorflow之Mnist入門

運作結束後,會在mnist目錄下生成data檔案夾,進入data檔案夾下檢視,如圖:

Tensorflow之Mnist入門

這裡的t10k-images-idx3-ubyte.gz,t10k-labels-idx1-ubyte.gz,train-images-idx3-ubyte.gz,train-labels-idx1-ubyte.gz是mnist的資料集

(2)下載下傳mnist-master檔案夾(http://pan.baidu.com/s/1bpwYddl),并上傳到伺服器上,在mnist-master檔案夾下,有如下檔案,如圖:

Tensorflow之Mnist入門

mnist_softmax.py:mnist機器學習入門

mnist_deep.py:深入mnist

fully_connected_feed.py:tensorflow運作方式入門

mnist_with_summaries.py:tensorboard訓練過程可觀化

并将(1)中data檔案夾下的mnist資料集拷貝到Mnist_data檔案夾下,如圖:

Tensorflow之Mnist入門

運作mnist_softmax.py結果如圖:

Tensorflow之Mnist入門

運作fully_connected_feed.py,如圖:

Tensorflow之Mnist入門
Tensorflow之Mnist入門

繼續閱讀