手写数字识别-训练数据处理

手写数字识别:MNIST,主要是说一下训练数据的制作,后面我打算写的一个识别模型虽然不是数字识别,不过也大同小异,网上的训练数据都是套的MNIST,自己制作的很少,文章也很少,没办法只能去看MNIST的说明,学习它的写法,毕竟它已然是一个“标准”。

一般例子的训练数据都是从http://yann.lecun.com/exdb/mnist/获取的,训练数据的格式是MNIST数据库的文件格式,用来存储矢量和多维矩阵。这个存储格式的具体文件说明如图

微信截图_20190603175718.png

如果你学过一些文件结构的话,应该会很好理解,主要是注意16个字节以后的pixel,这个是图片库,每隔28*28个像素就是一个新图,因为他是28*28像素的一个训练数据,所以每隔28*28就是另外一张图,这个数据是一个像素点,如果非要抽象的理解的话,你可以理解为图片的RGB,只不过这张图被处理过。怎么处理的,我的理解:RGB图-》灰度图-》二值图 不保证正确性!!!然后我写了两个例子来证实了一下,我提取的是训练数据train-images.idx3-ubyte的第一张图的28*28个字节。因为将像素点存储到二进制文件里面是字节方法,原先的模数转换器(ADC)拍照成像的时候因为是8位所以是2的8次方,正好是255,可以被1个字节存储。

下面展示的分别是图片转MNIST数据库的文件格式和MNIST数据库的文件格式转图片


博主也在学习的海洋里狗刨中...内容如有错误还请指出...


代码(易语言):iwonmo.rar



手写数字识别-训练数据处理


本站如无特别说明即为原创,转而告知:(http://iwonmo.com/archives/1562.html)

标签: MNIST, 训练数据制作

仅有一条评论

  1. vultr vultr 回复 2019-06-18 10:34

    学习 学习 一起学习

添加新评论