Tensorflow 練習2: CNN

利用CNN 來預測數字(MNIST)

 

輸入圖形是一個28*28 灰階0~9的數字

輸出是一個1*10的矩陣,裡面代表的是我們預測0~9的數字

流程是

輸入–convolution–pooling–convolution–pooling–hidden layer–output

用到[None,xx,xx]和[-1,XX,xx],代表著我們忽略輸入的大小,他會跟隨著輸入改變

max pooling 是表示我們選擇的是那個kernel size裡的最大值

並且也加入dropout 避免overfitting

詳細分析參照 Tensorflow

結果

上圖是沒有dropout下圖是有dropout 就這個例子而言差別不大,但還是看的出來上面的訓練會比測試好

tf.cnn1

準確率落在97%~99%之間(1000次訓練)

(用GradientDescent,其他的應該會更好)

 

代碼

My GitHub

 



發表留言