LeNet5详细原理(含tensorflow版源码)

LeNet5是1998年由YannLeCun等人提出的深度学习模型,主要用于手写数字识别。它包含2个卷积层、2个池化层和3个全连接层,以sigmoid和softmax为激活函数。在MNIST数据集上,该模型能实现接近99%的识别准确率。提供的TensorFlow代码展示了如何构建和训练LeNet5模型。

LeNet5原理

        Lenet5是一种深度学习模型,也是卷积神经网络(CNN)的一种。它是由Yann LeCun等人在1998年提出的,主要用于手写数字识别任务。

        Lenet5的网络结构由七个层组成,包括两个卷积层、两个池化层和三个全连接层。其中,卷积层用于提取特征,池化层用于降低特征维度,全连接层用于进行分类。

具体来说,Lenet5的网络结构如下:

  1. 输入层:28*28的灰度图像(黑白图像)。

  2. 第一层卷积层:6个卷积核,每个卷积核的大小为5*5。采用sigmoid函数作为激活函数。

  3. 第一层池化层:2*2的最大池化,步长为2。

  4. 第二层卷积层:16个卷积核,每个卷积核的大小为5*5。采用sigmoid函数作为激活函数。

  5. 第二层池化层:2*2的最大池化,步长为2。

  6. 全连接层1:120个神经元,采用sigmoid函数作为激活函数。

  7. 全连接层2:84个神经元,采用sigmoid函数作为激活函数。

  8. 输出层:10个神经元,采用softmax函数作为激活函数,用于分类。

        在训练过程中,Lenet5采用反向传播算法对网络中的权重进行更新,以提高模型的准确率。在手写数字识别任务中,Lenet5可以达到接近99%!的(MIS

LeNet-5神经网络 C源代码,这个写的比较好,可以用gcc编译去跑,结合理论可以对深度学习有更深刻的了解 介绍 根据YANN LECUN的论文《Gradient-based Learning Applied To Document Recognition》设计的LeNet-5神经网络,C语言写成,不依赖任何第三方库。 MNIST手写字符集初代训练识别率97%,多代训练识别率98%。 DEMO main.c文件为MNIST数据集的识别DEMO,直接编译即可运行,训练集60000张,测试集10000张。 项目环境 该项目为VISUAL STUDIO 2015项目,用VISUAL STUDIO 2015 UPDATE1及以上直接打开即可编译。采用ANSI C编写,因此源码无须修改即可在其它平台上编译。 如果因缺少openmp无法编译,请将lenet.c中的#include和#pragma omp parallel for删除掉即可。 API #####批量训练 lenet: LeNet5的权值的指针,LeNet5神经网络的核心 inputs: 要训练的多个图片对应unsigned char二维数组的数组,指向的二维数组的batchSize倍大小内存空间指针。在MNIST测试DEMO中二维数组为28x28,每个二维数组数值分别为对应位置图像像素灰度值 resMat:结果向量矩阵 labels:要训练的多个图片分别对应的标签数组。大小为batchSize batchSize:批量训练输入图像(二维数组)的数量 void TrainBatch(LeNet5 *lenet, image *inputs, const char(*resMat)[OUTPUT],uint8 *labels, int batchSize); #####单个训练 lenet: LeNet5的权值的指针,LeNet5神经网络的核心 input: 要训练的图片对应二维数组 resMat:结果向量矩阵 label: 要训练的图片对应的标签 void Train(LeNet5 *lenet, image input, const char(*resMat)[OUTPUT],uint8 label); #####预测 lenet: LeNet5的权值的指针,LeNet5神经网络的核心 input: 输入的图像的数据 labels: 结果向量矩阵指针 count: 结果向量个数 return 返回值为预测的结果 int Predict(LeNet5 *lenet, image input, const char(*labels)[LAYER6], int count); #####初始化 lenet: LeNet5的权值的指针,LeNet5神经网络的核心
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱笑的男孩。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值