在实现mnist手写数字识别的时候,看了极客网上的例子,自己试着实现了一下,但是期间发现了很多问题。于是就把值得注意的地方写在注释里面了,以供后面查阅温习。
import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("E:/data/tianchi/minist/", one_hot=True)
x=tf.placeholder(tf.float32,[None,784],name='x-input')
y_=tf.placeholder(tf.float32,[None,10],name='y-input')
def weight_variable(shape):
initial=tf.truncated_normal(shape,stddev=0.01)
return tf.Variable(initial)
def bias_variable(shape):
initial=tf.constant(0.1,shape=shape)
return tf.Variable(initial)
#SAME表示输入和输出是同一尺寸
#对于图片,因为只有两维,通常strides取[1,stride,stride,1]
def conv2d(x,w):
return tf.nn.conv2d(x,w,strides=[1,1,1,1],padding='SAME')
#ksize是池化窗口的大小,strides是池化过程的步长
def max_pool_2x2(x):
return tf.nn.max_pool(x,ksize=[1,2,2,1],strides=