CNN的LeNet-5模型及其TensorFlow实现

本文详细介绍了卷积神经网络的LeNet-5模型,包括每一层的具体结构,参数数量以及连接关系。文章还提及了使用TensorFlow实现LeNet-5模型,并提供了MNIST数字识别的代码示例。
摘要由CSDN通过智能技术生成

卷积神经网络的常见网络结构

常见的架构图如下: 
这里写图片描述

   LeNet-5模型结构图如下图:

       image

       LeNet-5模型总共有7层。

       第一层:卷积层

       第一层卷积层的输入为原始的图像,原始图像的尺寸为32×32×1。卷积层的过滤器尺寸为5×5,深度为6,不使用全0补充,步长为1。由于没有使用全0补充,所以这一层的输出的尺寸为32-5+1=28,深度为6。这一个卷积层总共有5×5×1×6+6=156个参数,其中6为偏置项参数个数,卷积层的参数个数只和过滤器的尺寸,深度以及当前层节点矩阵的深度有关。因为下一层节点矩阵有28×28×6=4704个节点,每个节点和5×5=25个当前层节点相连,所以本层卷积层总共有4704×(25+1)=122304个连接。

       第二层:池化层

       这一层的输入为第一层的输出,是一个28×28×6的节点矩阵。本层采用的过滤器大小为2×2,步长为2,所以本层的输出矩阵大小为14×14×6。

       第三层:卷积层

       本层的输入矩阵大小为14×14×6,采用的过滤器大小为5×5,深度为16,不使用全0补充,步长为1。这一层的输出的尺寸为14-5+1=10,深度为16,即输出矩阵大小为10×10×16。本层参数有5×5×6×16+16=2416个,连接有10×10×16×(5×5+1)=41600个。

       第四层:池化层

       本层的输入矩阵大小为10×10×16,采用的过滤器大小为2×2,步长为2,本层的输出矩阵大小为5×5×16。

       第五层:全连接层

       本层的输入矩阵大小为5×5×16,在LeNet-5模型的论文中将这一层称为卷积层,但是因为过滤器的大小就是5×5,所以和全连接层没有区别,这里直接看成全连接层。本层输入为5×5×16矩阵,将其拉直为一个长度为5×5×16的向量,即将一个三维矩阵拉直到一维空间以向量的形式表示,这样才可以进入全连接层进行训练。本层的输出节点个数为120,所以总共有5×5×16×120+120=48120个参数。

       第六层:全连接层

       本层的输入节点个数为120个,输出节点个数为84个,总共有120×84+84=10164个参数。

       第七层:全连接层

       本层的输入节点个数为84个,输出节点个数为10个,总共有84×10+10=850个参数。


       接下来以TensorFlow代码展示一个基于LeNet-5模型的mnist数字识别代码。

       mnist数据集和完整代码下载链接为:https://download.csdn.net/download/casgj16/10698394 。

(1)mnist_inference.py 构建CNN网络

import  tensorflow as tf

INPUT_NODE=784
OUTPUT_NODE=10

NUM_CHANNELS=1

IMAGE_SIZE=28

CONV1_DEEP=6
CONV1_SIZE=5

CONV2_DEEP=16
CONV2_SIZE
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值