def conv2d(x, W):
return tf.nn.conv2d(x, W, strides=[1, 1, 1, 1], padding = 'SAME')
x_image = tf.reshape(x, [-1, 28, 28, 1])
W_conv1 = weight_variable([5, 5, 1, 32])
b_conv1 = bias_variable([32])
result = conv2d(x_image, W_conv1) + b_conv1)
strides的1是指每次移動一格
padding=same 是輸出保持原來大小,因此會在原始像素周圍加0輸出後像素大小就一樣了。
X_image的格式第一個是圖片張數-1是不限定一次進來training的張數。第二.三個是指像素28x28,最後一個因為是灰階選1如果是彩色rgb選3。第三行是filter,5x5像素的灰階選1,最後用32個feature。最後一個是bias選一非負數即可。
來看前16個filter掃過數字7的示意圖與結果~
今天先寫到這裡,明天來認識max pooling~