利用CNN 來預測數字(MNIST)

  輸入圖形是一個28*28 灰階09的數字 輸出是一個1*10的矩陣,裡面代表的是我們預測09的數字 流程是 輸入–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