tensorflow-显示mnist图像并且加载模型识别单张图像(二)

通过上一遍文章,我们能够得到比较简单的mnist训练模型。

在根目录的save文件夹下有四个文件,保存的是训练模型,文件具体内容自行查找资料,我们加载模型时,只需定义出save文件夹下的路径即可

下面代码包含:

一:从测试集中随机挑选出两张图像用于显示并且识别

二:加载训练模型 

import tensorflow as tf 
#加载mnist库,从在测试集中挑选要测试的图片
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)
import pylab#用于画图,很方便
########################################################################
pylab.mpl.rcParams['font.sans-serif'] = ['SimHei'] # 若不添加,中文无法在图中显示
# import matplotlib
# matplotlib.rcParams['axes.unicode_minus']=False # 若不添加,无法在图中显示负号
###########################################################################
 

tf.reset_default_graph()#可以清空默认图里所有的节点。
#输入测试数据
x = tf.placeholder(tf.float32, [None, 784]) #测试图片

#权重和偏置
W = tf.Variable(tf.random_normal([784, 10]))
b = tf.Variable(tf.zeros([10]))
 
#构建模型
pred = tf.nn.softmax(tf.matmul(x, W) + b) # Softmax分类
 
#保存或者打开模型
saver = tf.train.Saver()
#保存或者打开模型的路径
model_path = "save/model"
###############################################################################
#启动会议
with tf.Session() as sess:
    #变量初始化
    sess.run(tf.global_variables_initializer())
    #打开训练好的模型
    saver.restore(sess, model_path)
    #测试模型
    #从测试集中随机取2张图片,图片赋给batch_xs,对应的标签赋给batch_ys
    batch_xs,batch_ys = mnist.test.next_batch(2)
    #output为2张图片通过softmax得到的最大概率对应的标签
    output = tf.argmax(pred, 1)
    #正式运行,先X输入2张测试图片,再output得到2张图片概率最大对应的标签并赋给outputval
    #最后pred得到2张图片再0-9上各自的概率
    outputval, predv = sess.run([output, pred], feed_dict={x: batch_xs})

    print(outputval, predv)
    #######################################################################
    print(batch_xs.shape)
    pylab.subplot(121) 
    im = batch_xs[0]
    im = im.reshape(-1, 28)#把原本在mnist中为一行的数据变成二维的28列矩阵,-1:不用指定具体为多少行
    pylab.title('该图片中的数字为:'+ str(outputval[0]))
    pylab.imshow(im)
 
    pylab.subplot(122)
    im = batch_xs[1]
    im = im.reshape(-1, 28)
    pylab.title('该图片中的数字为:' + str(outputval[1]))
    pylab.imshow(im)
    pylab.show()

结果:

猜你喜欢

转载自blog.csdn.net/weixin_41721222/article/details/86411715