训练模型和保存
from tensorflow.examples.tutorials.mnist import input_data
import tensorflow as tf
import pylab
mnist=input_data.read_data_sets("MNIST_data/",one_hot=True)
print('输入数据:',mnist.train.images)
print('输入数据的shape:',mnist.train.images.shape)
im=mnist.train.images[1]
im=im.reshape(-1,28)
pylab.imshow(im)
pylab.show()
tf.reset_default_graph()
#定义占位符
x=tf.placeholder(tf.float32,[None,784])
y=tf.placeholder(tf.float32,[None,10])
W=tf.Variable(tf.random_normal([784,10]))
b=tf.Variable(tf.zeros([10]))
#定义输出
pred=tf.nn.softmax(tf.matmul(x,W)+b,name='output')#定义一个名字,方便后面解析模型
#定义损失函数,使用对数损失函数
cost=tf.reduce_mean(-tf.reduce_sum(y*tf.log(pred),reduction_indices=1))
#定义训练时候的超参数
learning_rate=0.01
#使用梯度下降优化器
optimizer=tf.train.GradientDescentOptimizer(learning_rate).minimize(cost)
#训练模型
training_epochs=30
batch_size=100
display_step=2
saver=tf.train.Saver()
#初始化变量
init=tf.global_variables_initializer()
#启动session
with tf.Session() as sess:
sess.ru