3分钟了解MNIST图集,谷歌机器学习用,能用5行python显示图片?

我们通过导入谷歌官方手写图集mnist,通过python语句对这个图集所包含的包、包内元素、元素的数据结构和数据类型进行了完整的实验。全部程序可以执行。在程序最后显示了包内手写数字图片,更形象直观的看到手写数字的特性和调用方式。

下面我们先介绍一下程序。

3分钟了解MNIST图集,谷歌机器学习用,能用5行python显示图片?

这里还是要推荐下小编的Python学习群:483546416,不管你是小白还是大牛,小编我都欢迎,不定期分享干货,包括小编自己整理的一份2017最新的Python资料和0基础入门教程,欢迎初学和进阶中的小伙伴。在不忙的时间我会给大家解惑。

以上程序是调用mnist库从tensorflow的网站上。运行mnist = input_data.read_data_sets('/tmp/data/', one_hot=True)语句后如果本地目录没有文件,就从远程服务器自动下载,并存到配置的目录里面,本例子是/tmp/data/。如果目录里面已经存在文件,就会直接调用。国内网络一直不稳定,你下载文件直接放入到配置的目录。如果需要可以留言给我们或者直接点击右下角找我我们网址。

3分钟了解MNIST图集,谷歌机器学习用,能用5行python显示图片?

上面语句,对mnist包的数据结构进行了一个大体的打印。包括包自己的类型。包里含有的主要4个数据集,以及数据集对应的数据类型。和数据类型里数据个数和大小。最后5行程序,通过调用mnist数据,随机打印5个字符。用的是matplotlib函数。

3分钟了解MNIST图集,谷歌机器学习用,能用5行python显示图片?

运行结果可以看到,mnist的数据类型是tensorflow.contrib.learn.python.learn.datasets.base.Datasets。训练用的数据(mnist.train)有55000个,测试的有10000个(mnist.test)。

3分钟了解MNIST图集,谷歌机器学习用,能用5行python显示图片?

每张图片是28x28黑白图片,每行就是784维向量。每子集由两部分构成:图像部分(images)和标签部分(labels).numpy.ndarray.ndarray 是一个多维的数组对象,具有矢量运算能力和较强的数据转化能力,同时具有执行速度快和节省空间特点。ndarray 特点之一是同构:其中所有元素类型必须一样。而、ndarray里shape属性包含着数据集个数和对应的数据大小。

3分钟了解MNIST图集,谷歌机器学习用,能用5行python显示图片?

最后程序,通过matlibplot随机显示了5张图片,用的是灰度图的模式。

好了,有了对mnist库的了解,我们能用跟多的算法对这个库进行识别,来比较算法之间的差别。比如准确率、速度、资源消耗等。

我们专注人工智能社群,最简单人工智能案例。