整个流程包括以下四部分:
1、定义算法公式,也就是神经网络的forward时的计算 y=softmax(W.TX +b)
2、定义损失函数(H(y)=-∑y_log(y)),并制定优化器(梯度下降)
3、迭代的对数据进行训练
4、在测试集或验证集上对准确率进行评测
import tensorflow as tf
#导入MNIST模块
from tensorflow.examples.tutorials.mnist import input_data
#读取MNIST数据
mnist = input_data.read_data_sets("G:/TensorFlow/MNIST_data/",one_hot=True)
# x 是一个占位符,代表待识别的图片/tensor
x = tf.placeholder(tf.float32,[None,784])
# w 是softmax模型的参数,将784维的输入转换为10维,模型的参数用tf.Variable表示
w = tf.Variable(tf.zeros([784,10]))
b = tf.Variable(tf.zeros([10]))
#y表示输出
y = tf.nn.softmax(tf.matmul(x,w) + b)
#y_表示实际标签
y_ = tf.placeholder(tf.float32,[None,10])
#根据y和y_构造交叉熵损失
cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y)))
#利用梯度下降方法针对模型w和b进行优化,0.01代表学习速率
train_step = tf.train.GradientDescentOptimizer(0.01).minimize(cross_entropy)
#创建session,只有在session中才能运行优化步骤train_step
se