运行成功了一个门槛例子
加上了自己根据社区的讲解的理解上的注释。
import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data #准备数据 mnist = input_data.read_data_sets('MNIST_data',one_hot=True) #启动计算图 sess = tf.InteractiveSession() #输入图像的大小为28*28,输出的0到9的数字,共十类 x = tf.placeholder("float", shape=[None, 784]) y_ = tf.placeholder("float", shape=[None, 10]) #把W,b初始化为0 W = tf.Variable(tf.zeros([784,10])) b = tf.Variable(tf.zeros([10])) #给变量初始化 sess.run(tf.initialize_all_variables()) #计算每个分类的softmax值 y = tf.nn.softmax(tf.matmul(x,W) + b) #指定最小误差损失函数 cross_entropy = -tf.reduce_sum(y_*tf.log(y)) train_step = tf.train.GradientDescentOptimizer(0.01).minimize(cross_entropy) for i in range(1000): batch = mnist.train.next_batch(50) train_step.run(feed_dict={x: batch[0], y_: batch[1]}) #用于评估模型 correct_prediction = tf.equal(tf.argmax(y, 1), tf.argmax(y_, 1)) #分类的准确率 accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float")) #打印出准确率 print(accuracy.eval(feed_dict={x: mnist.test.images, y_: mnist.test.labels}))