Tensorflow实现mnist手写数字识别(附github代码)

本文通过Tensorflow实现MNIST手写数字识别,对比了全连接神经网络和卷积神经网络(CNN)的效果。CNN在实验中展现出更好的性能,最终在测试集上准确率达到0.989。

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

一、任务需求

mnist手写识别是经典的入门分类任务。给定28x28x1的输入图像,输出0-9共计十类的分类结果。

本次实现分两部分,一是用传统的全连接神经网络实现分类,二是用卷积神经网络(CNN)实现分类。


二、所用工具

python(Anaconda3)

tensorflow 1.0.0

Ubuntu 16.04.1 LTS


三、代码框架

代码地址:https://github.com/zhuangchen-nlp/mnist-tf

(一)传统神经网络

  • 输入层:拉伸的手写文字图像,维度为[-1,28x28]。
  • 全连接层:500个节点,维度为[-1,500]。
  • 输出层:分类输出,维度为[-1,10]。

(二)卷积神经网络-CNN

  • 输入层:手写文字图像,维度为[-1,28,28,1]。
  • 卷积层1:filter的shape为5x5x32,strides为1,padding为“SAME”。卷积后维度为[-1,28,28,32]。
  • 池化层2:max-pooling,ksize为2x2,步长为2。池化后维度为[-1,14,14,32]。
  • 卷积层3:filter的shape为5x5x64,strides为1,padding为“SAME”。卷积后维度为[-1,14,14
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值