tensorflow实现mnist手写数字识别

匿名 (未验证) 提交于 2019-12-03 00:27:02
import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data   data_path = 'F:\CNN\data\mnist'  mnist_data = input_data.read_data_sets(data_path,one_hot=True) #offline dataset  x_data = tf.placeholder("float32", [None, 784]) # None means we can import any number of images   weight =  tf.Variable(tf.ones([784,10]))  bias = tf.Variable(tf.ones([10]))  Y_model = tf.nn.softmax(tf.matmul(x_data ,weight) + bias)  #Y_model = tf.nn.sigmoid(tf.matmul(x_data ,weight) + bias)   ''' weight1 =  tf.Variable(tf.ones([784,256]))  bias1 = tf.Variable(tf.ones([256]))  Y_model1 = tf.nn.softmax(tf.matmul(x_data ,weight1) + bias1)  weight1 =  tf.Variable(tf.ones([256,10]))  bias1 = tf.Variable(tf.ones([10]))  Y_model = tf.nn.softmax(tf.matmul(Y_model1 ,weight1) + bias1) '''    y_data = tf.placeholder("float32", [None, 10])  loss = tf.reduce_sum(tf.pow((y_data - Y_model), 2 ))#92%-93%  #loss = tf.reduce_sum(tf.square(y_data - Y_model)) #90%-91%  optimizer = tf.train.GradientDescentOptimizer(0.01) train = optimizer.minimize(loss)  init = tf.global_variables_initializer() sess = tf.Session() sess.run(init) # reset values to wrong for i in range(100000):     batch_xs, batch_ys = mnist_data.train.next_batch(50)     sess.run(train, feed_dict = {x_data: batch_xs, y_data: batch_ys})     if i%50==0:         correct_predict = tf.equal(tf.arg_max(Y_model,1),tf.argmax(y_data,1))         accurate = tf.reduce_mean(tf.cast(correct_predict,"float"))         print(sess.run(accurate,feed_dict={x_data:mnist_data.test.images,y_data:mnist_data.test.labels}))
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!