1 Star 3 Fork 1

Conv_factor/基于C语言构建CNN的手写数字识别

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

基于CNN的手写数字识别

本项目的卷积神经网络使用C语言构建,包括前向传播和反向传播,可对手写数字体进行有效识别

介绍

  • 数据集使用MNIST数据集中的一小部分数据,大小为30x30,通道数为1,包含300张训练集与10张测试集
  • 网络结构包括双通道的三层卷积和单通道的三层全连接。卷积操作使用的kernel为3x3,最后输出24x24的特征图;全连接首先将双通道的特征图扁平化到1x1152,而后降维到180->45->10,最后利用softmax输出10种类别的概率

环境依赖

  • C/C++ 1.7.0

训练

  • 训练前确保数据已经存放在Training_set目录下
    • 若希望采用预训练的网络参数,则输入y,否则输入n。 输入图片说明
    • 输入训练的轮次,键入之后进入训练阶段,网络进行监督训练,通过后向传播进行参数的调整,使损失函数降低。 输入图片说明
    • 训练过程:网络每10轮输出网络的训练信息,包括训练进度、交叉熵损失与学习率。 输入图片说明

测试结果

  • 网络会读入训练过程中的最优参数进行测试,对测试集下的0-9的手写数字进行识别 输入图片说明 输入图片说明

参考

  1. 反向传播
  2. 卷积核求导

空文件

简介

本项目的卷积神经网络使用C语言构建,包括前向传播和反向传播,可对手写数字体进行有效识别 展开 收起
取消

发行版

暂无发行版

贡献者

全部

语言

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/conv-factor/Handwritten-number-recognition.git
git@gitee.com:conv-factor/Handwritten-number-recognition.git
conv-factor
Handwritten-number-recognition
基于C语言构建CNN的手写数字识别
master

搜索帮助