一.TensorFlow简介
TensorFlow是一个非常强大的用来做大规模数值计算的库。其所擅长的任务之一就是实现以及训练深度神经网络。(TensorFlow中文社区网址:http://www.tensorfly.cn/)其安装过程这里就不做详细的介绍了,网上有很多教程可以顺利安装,下面就开始介绍如何使用TensorFlow吧~
二.示例程序MNIST
1.MNIST简介
好比编程入门有Hello World,机器学习入门有MNIST。
MNIST是一个入门级的计算机视觉数据集,它包含各种手写数字图片:
它也包含每一张图片对应的标签,告诉我们这个是数字几。比如,上面这四张图片的标签分别是5,0,4,1。
2.MNIST数据集下载
下载地址:http://wiki.jikexueyuan.com/project/tensorflow-zh/tutorials/mnist_download.html
点击图中蓝色的文件链接即可下载。MNIST数据集被大体分为两部分:60000行的训练数据集和10000行的测试数据集。具体分为四个部分,分别为训练图片集,训练标签集,测试图片集,测试标签集。
也可以在程序中进行自动下载,代码如图:
2.MNIST数据集分析
在MNIST图片集中,所有的图片都有28×28=784个像素。因此,在MNIST训练数据集中,mnist.train.images
是一个形状为 [60000, 784]
的张量,第一个维度数字用来索引图片,第二个维度数字用来索引每张图片中的像素点。在此张量里的每一个元素,都表示某张图片里的某个像素的强度值,值介于0和1之间。
相对应的MNIST数据集的标签是介于0到9的数字,用来描述给定图片里表示的数字。我们使标签数据是"one-hot vectors"。 一个one-hot向量除了某一位的数字是1以外其余各维度数字都是0。比如,标签0将表示成([1,0,0,0,0,0,0,0,0,0,0])。因此, m