tensorflow中训练mnist数据集---测试

先看上一篇训练mnist数据集训练

测试的过程中,主要是加载模型,获取变量的过程。

我们只要获取输入变量x,预测变量pred即可进行数据预测

import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets('./data/',one_hot=True)
test_data = mnist.test.images
test_labels = mnist.test.labels
print(test_data[10:12].shape)
print(test_labels[10:12].shape)
print(test_labels[10:12])

“”“
(2, 784)
(2, 10)
[[1. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0. 0. 1. 0. 0. 0.]]
”“”
begin,end = 100,106
data_set = test_data[begin:end]

print(begin,end)

#加载计算图
saver = tf.train.import_meta_graph("./model/model.ckpt.meta")
with tf.Session() as sess:
    #加载模型中的数据
    saver.restore(sess,"./model/model.ckpt")
    #获得变量,注意后面的变量名称,和训练中的一一对应。
    x_input = tf.get_default_graph().get_tensor_by_name("input-x:0")
    #y_input = tf.get_default_graph().get_tensor_by_name("input-y:0")
    #获得预测的变量
    y_output = tf.get_default_graph().get_tensor_by_name("Add_2:0")
    #acc_name = tf.get_default_graph().get_tensor_by_name("Mean_1:0")
    
    #acc = sess.run(acc_name,feed_dict={x_input:test_data[10:100], y_input:test_labels[10:100]})
    #print("test_acc is {}".format(acc))
    #计算前向传播,对pred传入一个x,即可得到预测值,再与labels进行比较即可
    acc = sess.run(y_output,feed_dict={x_input:data_set})
    nums = tf.argmax(acc,1)
    t = sess.run(nums)
    print(t)

"""
(10, 12)
INFO:tensorflow:Restoring parameters from ./model/model.ckpt
[0 6]
"""

由上得到在测试数据集中第10-11个图像经过预测得到的是  0和6

下面看一下标签中的数据是否为0和6

import matplotlib.pyplot as plt
length = end -begin

#每一个数据是784维的,要转变成(28,28),下面是一起把所有的数据都转变
img = data_set.reshape(end - begin, 28, 28)
print(img[0].shape)
print("image show pred value")
for j in range(img.shape[0]):
    plt.subplot("1{}{}".format(length,j+1)),plt.imshow(img[j])
plt.show()
print("this is labels value")
print(t)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值