minst识别结果入门(tensorFlow)

对于初入tensorflow的同学来说(尤其是初入python的同学),minst一般都是第一个教程。它原理简单清晰,使用的api也必将初级。
网上的教程都大同小异,大家照着敲代码级别都能得到最后的识别率(91%左右)。这套代码就和刚学Java的同学学会了写main方法一样。

这里简单说一下tensorflow将minst集识别成了什么。也就是说,既然tf正确识别了91%的数字,那它把识别错误的图片数据识别成了什么

输出正确率

下面是常规的输出正确率的代码,也是大家都这样写的代码:

# 输出正确率(正确数量占比)
 accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
 print(sess.run(accuracy, feed_dict={x: minst.test.images, y_: minst.test.labels}))

输出猜测对比

我们把它改成输出猜测结果和正确标记的对比,也就是猜对了输出True,否则是False:

# 输出猜测对比(猜对True 猜错 False)
 run = sess.run(correct_prediction, feed_dict={x: minst.test.images, y_: minst.test.labels})
 for b in run:
     print(run)

输出猜测数组

现在我们改成输出tf的结果,也就是我们的目标:tf到底把训练集猜成了什么:

# 输出预测结果数组
run = sess.run(y_, feed_dict={x: minst.test.images, y_: minst.test.labels})
for b in run:
    print(b)

输出预测数字

tf能做的就是给出一个数据,因为minst数据是这样处理的。要看到数字结果,简单变换一下就可以:

run = sess.run(y_, feed_dict={x: minst.test.images, y_: minst.test.labels})
for b in run:
    t = 0
    for c in b:
        if c == 1:
            print(t)
        else:
            t = t + 1

你可能感兴趣的:(minst识别结果入门(tensorFlow))