将图像转换位mnist数据格式

利用mnist数据对数字符号进行识别基本上算是深度学习的Hello World了。在我学习这个“hello world”的过程中,总感觉缺点什么,于是发现无论是训练数据还是测试数据,都是mnist准备好的,即使最后测试的数字识别率很高,我也没有什么参与感。其实,我想测试只是自己手写数字的识别率。

为了完成上述想法,我能想到的有两个方法,其中第一个是将普通图片数据转换成mnist数据。mnist的数据格式非常简单,如下图所示:

两幅图分别表示了图形数据和标签数据。他们都有一个4字节长度的magic number,用来识别数据的具体格式。如果是标签数据,那么格式相对简单,后续是一个标签数量,接着的是标签数据(0-9的值)。如果是图像数据,那么magic number后,除了4个字节的数据数量以外,还有分别占4字节的行列数据,最后的就是图像数据。结构非常简单,但是有两点值得注意:

数据使用big endian组织的。

图像数据中,255表示前景,也就是黑色,0表示背景,也就是白色,这和我们平时看到的RGB是不同的。

知道了数据格式,接下来的事情是用程序将图像转换到mnist了。这里还是用python对数据做转化。

以上是对图像数据的转换,标签数据的转换代码和以上代码基本一样,所以这里不再赘述。

有了这个方法,我们可以通过画图软件画上一堆自己手写的数字,通过python批量转化成mnist格式的数据,再让tensorflow进行测试,算出模型对我们自己手写数字的识别正确率。

好了,以上就是我说的第一种让模型识别自己的手写数字的方法。不过,这个方法不能实时的识别我手写的数字,让人总觉得缺点什么。于是就有了第二种方法,这种方法将借助浏览器,js以及web server等工具将手写的数字实时的传给后台的模型进行识别,然后把结果回复给用户。不过这个方法就要等待下一篇文章来描述了。

本文来自企鹅号 - 全球大搜罗媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据科学学习手札

(数据科学学习手札37)ggplot2基本绘图语法介绍

  ggplot2是R语言中四大著名绘图框架之一,且因为其极高的参数设置自由度和图像的美学感,即使其绘图速度不是很快,但丝毫不影响其成为R中最受欢迎的绘图框架;...

1845
来自专栏杨熹的专栏

TensorFlow-10-基于 LSTM 建立一个语言模型

今日资料: https://www.tensorflow.org/tutorials/recurrent 中文版: http://wiki.jikexue...

3616
来自专栏PaddlePaddle

转载|使用PaddleFluid和TensorFlow训练RNN语言模型

在图像领域,最流行的 building block 大多以卷积网络为主。上一篇我们介绍了转载|使用PaddleFluid和TensorFlow实现图像分类网络S...

1123
来自专栏数据科学与人工智能

机器学习特征工程的7个技巧

1. 数值变量标准化 不同数据的Scale不一样,所以需要标准化。比如身高和体重。 不做标准化,有些算法会死得很惨,比如SVM、神经网络、K-means之类。标...

44810
来自专栏IT派

30分钟学会用scikit-learn的基本回归方法(线性、决策树、SVM、KNN,Adaboost和GBRT)

前言:本教程主要使用了numpy的最最基本的功能,用于生成数据,matplotlib用于绘图,scikit-learn用于调用机器学习方法。如果你不熟悉他们(我...

992
来自专栏数据科学与人工智能

【Python环境】python的Orange包实现机器学习与数据挖掘的分类问题

Orange是Python语言中一个强大的机器学习包,主要用于实现数据挖掘和有监督的机器学习,包括分类,回归等等。在Orange的使用过程中并不需要用户像使用S...

3299
来自专栏AI研习社

干货 | 一篇文章教你用TensorFlow写名著

前言 最近看完了 LSTM 的一些外文资料,主要参考了 Colah 的 blog以及 Andrej Karpathy blog的一些关于 RNN 和 LST...

3425
来自专栏数据科学学习手札

(数据科学学习手札25)sklearn中的特征选择相关功能

一、简介   在现实的机器学习任务中,自变量往往数量众多,且类型可能由连续型(continuou)和离散型(discrete)混杂组成,因此出于节约计算成本、精...

3769
来自专栏人工智能

用Pandas在Python中可视化机器学习数据

您必须了解您的数据才能从机器学习算法中获得最佳结果。

2966
来自专栏机器之心

教程 | 用数据玩点花样!如何构建skim-gram模型来训练和可视化词向量

3686

扫码关注云+社区