使用tensorflow基于lenet-5模型识别手写数字

本文介绍了如何使用TensorFlow基于经典的LeNet-5模型进行手写数字识别。首先详细阐述了LeNet-5的网络结构,包括5个卷积和池化层,最后两个全连接层。在实际应用中,针对MNIST数据集的28x28x1输入图像,对第一层卷积层进行了全零填充以保持输出尺寸。经过大约10000轮训练,模型的准确率可以达到98%左右。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

lenet-5模式是卷积神经网络的经典模型,它的结构如下:


第一层,卷积层

输入为原始图像,大小为32*32*1,一个个卷积层过滤器尺寸为5x5,深度为6,不使用全零填充,步长为1.因此输出尺寸为28,深度为6。

第二层,池化层

输入为第一层的输出,是28*28*6的矩阵,本层过滤器大小2x2,长宽步长均为2,输出大小为14x14x6.

第三层,卷积层

输入为14x14x6,使用过滤器大小5x5,深度为16,本层不使用全零填充,步长为1,输出矩阵大小为10x10x16.

第四次,池化层

输入矩阵大小10x10x16,过滤器大小2x2,步长为2,本层输出5x5x16.

第五层,卷积层

输入矩阵5x5x16,因为过滤器大小也是5x5,其实和全连接层没有区别,之后的tensorflow程序中也会将这层看成全连接层,本层输出节点个数120个。

第六次,全连接层

输入节点个数120,输出节点个数84个

第七层,全连接层

输入节点84个,输出节点个数10个。

代码如下,由于mnist的手写数字输入是28*28*1,所以做了一点修改,第一个卷积层使用的全0填充,这样就是的输出是28*28*6.

import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
import os
import numpy as np
from tensorflow.contrib.factorization.examples.mnist import fill_feed_dict
from CNN.LeNet5_infernece import CONV1_SIZE, NUM_CHANNELS, CONV1_DEEP


INPUT_NODE=784
OUTPUT_
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值