tensorflow学习笔记之使用tensorflow进行MNIST分类(1)

MNIST是一个入门级的计算机视觉数据集,它包含60000个训练数据和10000个测试数据。每个样本为下面各种手写数字图片:

它也包含每一张图片对应的标签,告诉我们这个是数字几。比如,上面这四张图片的标签分别是5,0,4,1。

MNIST的官方网站 :http://yann.lecun.com/exdb/mnist/

可以查看该项目目前的最高纪录:http://rodrigob.github.io/are_we_there_yet/build/classification_datasets_results.html

访问上述网站,可以查看MNIST的分类记录和所用分类模型。

本文旨在学习利用tensorflow进行大型数据集处理,而不是构造一个很复杂的模型,最后期望达到99.2%的精度,如果想学习更为复杂的模型可以参考上述网站。

TensorFlow是一个非常强大的用来做大规模数值计算的库。其所擅长的任务之一就是实现以及训练深度神经网络。

在本教程中,我们将学到构建一个TensorFlow模型的基本步骤,并将通过这些步骤为MNIST构建一个深度卷积神经网络。

     下载数据集

MNIST数据集的官网是Yann LeCun's website(http://yann.lecun.com/exdb/mnist/

)。可以直接下载数据集。

建议python爬虫代码用于自动下载和安装这个数据集:https://tensorflow.googlesource.com/tensorflow/+/master/tensorflow/examples/tutorials/mnist/input_data.py

复制上面代码,运行上面代码会自动创建一个'MNIST_data'的目录来存储数据。

下载下来的数据集被分成两部分:60000行的训练数据集(mnist.train)和10000行的测试数据集(mnist.test)。这样的切分很重要,在机器学习模型设计时必须有一个单独的测试数据集不用于训练而是用来评估这个模型的性能,从而更加容易把设计的模型推广到其他数据集上(泛化)。

正如前面提到的一样,每一个MNIST数据单元有两部分组成:一张包含手写数字的图片和一个对应的标签。我们把这些图片设为“xs”,把这些标签设为“ys”。训练数据集和测试数据集都包含xs和ys,比如训练数据集的图片是 mnist.train.images ,训练数据集的标签是 mnist.train.labels。


Guess you like

Origin blog.csdn.net/IEEE_FELLOW/article/details/53012351