天天看点

Tensorflow之Mnist入门

当我们学习编程的时候,第一件事情往往是学习如何打印出“Hello World”。正如编程中会有“Hello World”,Tensorflow中入门有mnist,关于mnist,谷歌官方给出了两篇教程。下面简单介绍下如何运行Tensorflow自带的mnist的python程序。

Mnist是一个入门级的计算机视觉数据集,它包含各种手写数字图片:

Tensorflow之Mnist入门

它也包含每一张图片对应的标签,告诉我们这个是数字几。比如,上面这四张图片的标签分别是5,0,4,1。在此教程中,我们将训练一个机器学习模型用于预测图片里面的数字。

关于tensorflow手写数字识别的大致步骤:

1、将要识别的图片转为灰度图,并且转化为28*28矩阵(单通道,每个像素范围0-255,0为黑色,255为白色);

2、将28*28的矩阵转换成1维矩阵(也就是把第2,3,4,5…….行矩阵纷纷接入到第一行的后面);

3、用一个1*10的向量表示标签,也就是这个数字到底是几;

4、softmax回归预测图片是哪个数字的概率;

5、用交叉熵和梯度下降法训练参数。

关于上述几个步骤中所涉及到的softmax回归预测以及交叉熵、梯度下降法等可参见以下博文链接:

http://www.jianshu.com/p/2186766b69dc

http://www.jianshu.com/p/4195577585e6

http://www.jianshu.com/p/a1dc77933763

http://www.cnblogs.com/flyu6/p/5555178.html

http://blog.csdn.net/wang_junjie/article/details/51303729

在运行mnist的入门示例程序的前提是正确安装配置tensorflow。

(1)进入tensorflow的安装目录,如图:

Tensorflow之Mnist入门

运行mnist目录下的convolutional.py程序:

Tensorflow之Mnist入门

运行结果如下:

Tensorflow之Mnist入门

运行结束后,会在mnist目录下生成data文件夹,进入data文件夹下查看,如图:

Tensorflow之Mnist入门

这里的t10k-images-idx3-ubyte.gz,t10k-labels-idx1-ubyte.gz,train-images-idx3-ubyte.gz,train-labels-idx1-ubyte.gz是mnist的数据集

(2)下载mnist-master文件夹(http://pan.baidu.com/s/1bpwYddl),并上传到服务器上,在mnist-master文件夹下,有如下文件,如图:

Tensorflow之Mnist入门

mnist_softmax.py:mnist机器学习入门

mnist_deep.py:深入mnist

fully_connected_feed.py:tensorflow运作方式入门

mnist_with_summaries.py:tensorboard训练过程可观化

并将(1)中data文件夹下的mnist数据集拷贝到Mnist_data文件夹下,如图:

Tensorflow之Mnist入门

运行mnist_softmax.py结果如图:

Tensorflow之Mnist入门

运行fully_connected_feed.py,如图:

Tensorflow之Mnist入门
Tensorflow之Mnist入门

继续阅读