基于tensorflow的MNIST手写字识别
一、卷积神经网络模型知识要点卷积卷积
二、卷积神经网络讲解
2.1卷积神经网络作用
2.2卷积神经网络模型
2.3 卷积
2.3.1 卷积的原理
2.3.2 滑动的步长-stride
2.3.3 卷积的边界处理-padding
2.3.4 卷积与神经网络
2.4 池化
2.5 全连接
2.6 梯度下降法
2.7最后 softmax
三、总结
四、参考
- <span style="font-family:Microsoft YaHei;">神经网络介绍
- http://ufldl.stanford.edu/wiki/index.php/%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C
- 技术向:一文读懂卷积神经网络CNN
- http://www.cnblogs.com/nsnow/p/4562308.html
- 深度学习(卷积神经网络)一些问题总结
- http://blog.csdn.net/nan355655600/article/details/17690029
- 卷积神经网络(CNN)
- http://ibillxia.github.io/blog/2013/04/06/Convolutional-Neural-Networks/
- Deep Learning模型之:CNN卷积神经网络(一)深度解析CNN
- http://www.cnblogs.com/nsnow/p/4562363.html
- 数据挖掘系列(10)——卷积神经网络算法的一个实现(转)
- http://blog.sina.com.cn/s/blog_4ff49c7e0102vl5m.html
- Matlab/DeepLearnToolbox
- https://github.com/rasmusbergpalm/DeepLearnToolbox
- Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现
- http://blog.csdn.net/zouxy09/article/details/9993371
- Deep Learning论文笔记之(五)CNN卷积神经网络代码理解
- http://blog.csdn.net/zouxy09/article/details/9993743
- 斯坦福 池化
- http://ufldl.stanford.edu/wiki/index.php/%E6%B1%A0%E5%8C%96
- CNN神经网络层次分析
- http://blog.csdn.net/liulina603/article/details/44915905
- 深度学习笔记1(卷积神经网络)
- http://blog.csdn.net/lu597203933/article/details/46575779
- CNN公式推导
- http://blog.csdn.net/lu597203933/article/details/46575871
- 前向型神经网络之BPNN(附源码)
- http://blog.csdn.net/heyongluoyao8/article/details/48213345
- 残差与误差的区别
- http://wenku.baidu.com/link?url=DUDkyV1tnD_SEGzgcxb9AaFU5VUcP9ISNR8q39-fpCcq_LGUHY7ucx5vDwr-MCfU_ofr7yIQZ_UgTfiivTtaDOulW2DD3pGs07eYmiQv5P7
- 反向传导算法
- http://deeplearning.stanford.edu/wiki/index.php/%E5%8F%8D%E5%90%91%E4%BC%A0%E5%AF%BC%E7%AE%97%E6%B3%95
- 图像卷积与滤波的一些知识点
- http://blog.csdn.net/zouxy09/article/details/49080029
- CNN卷积神经网络原理简介+代码详解
- http://doc.okbase.net/u012162613/archive/126058.html
- 卷积神经网络(lenet)
- http://deeplearning.net/tutorial/lenet.html
- 激活函数的作用
- https://www.zhihu.com/question/22334626
- 神经网络入门第一部分
- http://blog.sina.com.cn/s/blog_6a67b5c50100tspb.html
- 神经网络入门第二部分
- http://blog.sina.com.cn/s/blog_6a67b5c50100tspe.html
- 卷积神经网络全面解析
- http://www.moonshile.com/post/juan-ji-shen-jing-wang-luo-quan-mian-jie-xi
- Deep learning:四十一(Dropout简单理解)
- http://www.cnblogs.com/tornadomeet/p/3258122.html
- DeepLearning (六) 学习笔记整理:神经网络以及卷积神经网络
- http://www.07net01.com/2015/11/963741.html
- 深度卷积网络CNN与图像语义分割
- http://blog.csdn.net/xiahouzuoxin/article/details/47789361
- MATLAB conv2卷积的实现
- http://blog.csdn.net/celerychen2009/article/details/38852105
- </span>
基于tensorflow的MNIST手写字识别(一)--白话卷积神经网络模型
一、本文的意义
二、MNIST简介
- <span style="font-family:Microsoft YaHei;">官网:http://yann.lecun.com/exdb/mnist/</span>
这个MNIST数据库是一个手写数字的数据库,它提供了六万的训练集和一万的测试集。
总共4个文件:
train-images-idx3-ubyte: training set images
train-labels-idx1-ubyte: training set labels
t10k-images-idx3-ubyte: test set images
t10k-labels-idx1-ubyte: test set labels
图片都被转成二进制放到了文件里面,
TRAINING SET LABEL FILE (train-labels-idx1-ubyte):
[offset] [type] [value] [description]
0000 32 bit integer 0x00000801(2049) magic number (MSB first)
0004 32 bit integer 60000 number of items
0008 unsigned byte ?? label
0009 unsigned byte ?? label
........
xxxx unsigned byte ?? label
The labels values are 0 to 9.
TRAINING SET IMAGE FILE (train-images-idx3-ubyte):
[offset] [type] [value] [description]
0000 32 bit integer 0x00000803(2051) magic number
0004 32 bit integer 60000 number of images
0008 32 bit integer 28 number of rows
0012 32 bit integer 28 number of columns
0016 unsigned byte ?? pixel
0017 unsigned byte ?? pixel
........
xxxx unsigned byte ?? pixel
每个像素被转成了0-255,0代表着白色,255代表着黑色。
TEST SET LABEL FILE (t10k-labels-idx1-ubyte):
[offset] [type] [value] [description]
0000 32 bit integer 0x00000801(2049) magic number (MSB first)
0004 32 bit integer 10000 number of items
0008 unsigned byte ?? label
0009 unsigned byte ?? label
........
xxxx unsigned byte ?? label
The labels values are 0 to 9.
TEST SET IMAGE FILE (t10k-images-idx3-ubyte):
[offset] [type] [value] [description]
0000 32 bit integer 0x00000803(2051) magic number
0004 32 bit integer 10000 number of images
0008 32 bit integer 28 number of rows
0012 32 bit integer 28 number of columns
0016 unsigned byte ?? pixel
0017 unsigned byte ?? pixel
........
xxxx unsigned byte ?? pixel
每个像素被转成了0-255,0代表着白色,255代表着黑色。
三、tensorflow手写数字识别的大致步骤
四、过程讲解
4.1 准备要识别的图片
4.2 将待测图片转换为矩阵
- <span style="font-family:Microsoft YaHei;">img=array(Image.open(filename)) //打开然后就被numpy转化了</span>
- <span style="font-family:Microsoft YaHei;"> im=Image.open("test_num3/8_3.png")
- Lim = img=array(im.convert("L")) </span>
4.3将矩阵转化为一维矩阵,以及标签的介绍
4.3.1标签的来历--有监督学习 和 无监督学习
监督学习:利用一组已知类别的样本调整分类器的参数,使其达到所要求性能的过程,也称为监督训练或有教师学习 举个例子,MNIST自带了训练图片和训练标签,每张图片都有一个对应的标签,比如这张图片是1,标签也就是1,用他们训练程序,之后程序也就能识别测试集中的图片了,比如给定一张2的图片,它能预测出他是2
无监督学习:其中很重要的一类叫聚类 举个例子,如果MNIST中只有训练图片,没有标签,我们的程序能够根据图片的不同特征,将他们分类,但是并不知道他们具体是几,这个其实就是“聚类”
4.3.2 标签的表示
在这里标签的表示方式有些特殊,它也是使用了一个一维数组,而不是单纯的数字,上面也说了,他是一个一位数组,0表示方法[1,0,0,0,0,0,0,0,0,0],1表示[0,1,0,0,0,0,0,0,0,0],........., 主要原因其实是这样的,因为softmax回归处理后会生成一个1*10的数组,数组[0,0]的数字表示预测的这张图片是0的概率,[0,1]则表示这张图片表示是1的概率......以此类推,这个数组表示的就是这张图片是哪个数字的概率(已经归一化),因此,实际上,概率最大的那个数字就是我们所预测的值。两者对应来看,标准的标签就是表示图片对应数字的概率为100%,而表示其它数字的概率为0,举个例子,0表示[1,0,0,0,0,0,0,0,0,0],可以理解为它表示0的概率为1,而表示别的数字的概率为0.
4.4 softmax回归
4.5 交叉熵
4.6 梯度下降
4.7 预测
5 代码
- https://github.com/wlmnzf/tensorflow-train/tree/master/mnist
6 参考文章
- <span style="font-family:Microsoft YaHei;font-size:18px;">http://blog.csdn.net/acdreamers/article/details/44663305 softmax回归</span>
- <span style="font-family:Microsoft YaHei;font-size:18px;">http://wiki.jikexueyuan.com/project/tensorflow-zh/tutorials/mnist_beginners.html MNIST学习入门
- </span>
- <span style="font-family:Microsoft YaHei;font-size:18px;">http://blog.csdn.net/u012162613/article/details/44239919 交叉熵代价函数</span>
基于tensorflow的MNIST手写字识别相关推荐
- 基于tensorflow的MNIST手写字识别(一)--白话卷积神经网络模型
一.卷积神经网络模型知识要点卷积卷积 1.卷积 2.池化 3.全连接 4.梯度下降法 5.softmax 本次就是用最简单的方法给大家讲解这些概念,因为具体的各种论文网上都有,连推导都有,所以本文主要 ...
- TensorFlow基于minist数据集实现手写字识别实战的三个模型
手写字识别 model1:输入层→全连接→输出层softmax model2:输入层→全连接→隐含层→全连接→输出层softmax model3:输入层→卷积层1→卷积层2→全连接→dropout层→ ...
- 用TensorFlow教你手写字识别
1.MNIST数据集 基于MNIST数据集实现手写字识别可谓是深度学习经典入门必会的技能,该数据集由60000张训练图片和10000张测试图片组成,每张均为28*28像素的黑白图片.关于数据集的获取, ...
- Tensorflow实现MNIST手写识别
MNIST手写体识别训练和测试模型下载地址: MNIST手写体模型下载 MNIST手写体识别,标签编码为独热(one-hot)编码 One-Hot编码,又称为一位有效编码,主要是采用N位状态寄存器来对 ...
- mnist手写数字识别python_基于tensorflow的MNIST手写数字识别(二)--入门篇
一.本文的意义 因为谷歌官方其实已经写了MNIST入门和深入两篇教程了,那我写这些文章又是为什么呢,只是抄袭?那倒并不是,更准确的说应该是笔记吧,然后用更通俗的语言来解释,并且补充更多,官方文章中没有 ...
- Pytorch入门--详解Mnist手写字识别
1 什么是Mnist? Mnist是计算机视觉领域中最为基础的一个数据集. MNIST数据集(Mixed National Institute of Standards and Tec ...
- tensorflow saver_机器学习入门(6):Tensorflow项目Mnist手写数字识别-分析详解
本文主要内容:Ubuntu下基于Tensorflow的Mnist手写数字识别的实现 训练数据和测试数据资料:http://yann.lecun.com/exdb/mnist/ 前面环境都搭建好了,直接 ...
- python手写汉字识别_TensorFlow 2.0实践之中文手写字识别
问题导读: 1.相比于简单minist识别,汉字识别具有哪些难点? 2.如何快速的构建一个OCR网络模型? 3.读取的时候有哪些点需要注意? 4.如何让模型更简单的收敛? 还在玩minist?fash ...
- .net 数字转汉字_TensorFlow 2.0 中文手写字识别(汉字OCR)
TensorFlow 2.0 中文手写字识别(汉字OCR) 在开始之前,必须要说明的是,本教程完全基于TensorFlow2.0 接口编写,请误与其他古老的教程混为一谈,本教程除了手把手教大家完成这个 ...
最新文章
- python趣味编程表白_【暖心一笑】Python趣味编程:定时给Ta讲笑话
- JavaWeb:Tomcat下配置数据源连接数据库
- 开启win7 FTP 服务 无法登陆的原因
- border 外边框
- 【刷题记录】排列dp
- C++中栈内存和堆内存
- 查看linux内存优化,Linux性能优化和监控系列(三) 分析Memory使用状况
- Error:Execution failed for task ':app:transformClassesWithDexForDebug'解决记录
- DataBase -- Operator
- refprop物性库_Refprop9.1_Refprop(制冷剂物性查询软件)下载 v9.1免费版 附教程 - 121下载站...
- STC8H8K64U单片机学习-1-芯片功能介绍
- stm32串口通信以及C语言程序里的内存分配
- Android神笔之Paint
- Python 读取文件夹下的Excel文件导入到数据库
- 【leetcode】解题日记(未完待续)
- 学术文献翻译改写 F36(含心得)
- 计算机网络(第八版)谢希仁编著 笔记
- Zigbee、Wifi、蓝牙三种无线信技术对比
- 嵌入式系统开发09——串口通信
- C语言中 A||BC的执行顺序是怎么的?
热门文章
- 非修改md5视频去重消重软件视频去重视频消重怎么弄
- python pandas写入数据后保存_python读取MySQL数据使用pandas写入到csv,并保存列名
- bp神经网络应用实例_自监督图神经网络
- itunes刷机一直正在恢复固件要多久_iPhone “已停用”,为什么刷机后仍是“已停用”的状态?...
- 普通硬件就能破解GSM A5加密算法
- 【LeetCode】3Sum Closest 解题报告
- MySql配置方法,批处理进行MySql配置
- C语言中常用计时方法总结
- PHP输入流php://input介绍
- MSSQL2008R2 Failover Cluster(A-A)配置实验