本文主要是介绍TensorFlow官方教程学习 MNIST For ML Beginners,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
写在前面的话
其实有人组织了翻译TensorFlow文档,在github上的项目,但是我还是比较喜欢看原始的文档,边看边写,纯粹自娱自乐,也是看看自己是否真的认真看了并且有些理解了。
正文
主要内容来自TensorFlow的官方教程,就是变读边学,顺便记录下来,水平有限。
这个教程为了刚开始接触机器学习和TensorFlow的读者准备的,如果你已经知道了什么是MNIST,什么是softmax(多项对数)回归,你可以查看Deep MINST for Experts。请确认了在开始该教程之前你已经安装了TensorFlow。
当一个程序员开始学习编程的时候,传统的第一件事情就是输出“Hello World”。机器学习中的Hello World程序就是MNIST。
MNIST是一个简单的计算机视觉数据库。其包含了手写的数字如:
其也包含每张图像的标签,告诉我们这个图像是什么。例如,上述图像的标签就是5,0,4和1。
在这个教程中,我们将会训练一个模型来查看图像并且预测图像上是什么数字。我们的目标并不是训练一个真正精细的模型,实现最先进(state-of-the-art)的性能——虽然我们将会在之后给出代码来实现这个目标。我们目的是接触和学习使用TensorFlow。因此,我们将会从一个非常简单的模型开始,叫做Softmax回归。
这个教程实际的代码很短,所有有意思的事情发生在仅仅三行之中。然而学习在代码之后的想法是很重要的。包括TensorFlow如何起作用,和其核心的机器学习概念。因此,我们将会十分仔细地完成代码。
关于这个教程
这个教程一行行地解释在minist_softmax.py代码中发生的事情。
你可以用不同的方式使用这个教程,包括
- 随着你阅读每行的注释,逐行复制和黏贴代码段到Python环境中。
- 在通读注释之前或者之后运行整个mnist_softmax.py Python文件。
我们将会如何完成这个教程:
- 了解MNIST数据和softmax回归
- 创建一个模型根据查看图像中的每一个像素识别数字
- 使用Tensorflow通过看数以千计的例子来训练模型来识别图像(运行Tensorflow会话来完成)。
- 使用我们的测试数据来检验模型的准确率
MNIST Data
MNIST数据在Yann LeCun的网站。如果你为了这个教程在代码中拷贝和黏贴数据,以如下两行代码开始将会自动下载和读取数据。
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets('MNIST_data/', one_hot=True)
MNIST数据分为三个部分,55000训练数据(mnist.train),10000测试数据(mnist.test),5000 验证数据。这个划分十分重要。在机器学习中我们有着并不用来学习的独立数据,这样我们能够确保我们学习的模型确实是有效。
正如之前提到的,每个MNIST数据有两个部分,一张手写的数字的图像,一个对应的标签。我们称其为图像x和标签y。训练集和测试集都包含图像和它们对应的标签。在例子中训练图像为mnist.train.images,它们的训练标签为mnist.train.labels
每个图像为28像素*28像素,我们将其解释为一个大的数字数组。
<
这篇关于TensorFlow官方教程学习 MNIST For ML Beginners的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!