Tensorflow2.0:实战LeNet-5识别MINIST数据集

LeNet-5模型

1990 年代提出的LeNet-5使卷积神经网络在当时成功商用,下图是 LeNet-5 的网络结构图,它接受32 × 32大小的数字、字符图片,这次将LeNet-5模型用来识别MINIST数据集中的数字,并在测试集中计算其识别准确率。
在这里插入图片描述
根据上图的网络结构,可以得出下图的模型结构图:
在这里插入图片描述

完整代码示例

第一部分:数据集的加载与预处理

import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import datasets  # 导入经典数据集加载模块
# 加载 MNIST 数据集
(x, y), (x_test, y_test) = datasets.mnist.load_data()   # 返回数组的形状
# 将数据集转换为DataSet对象,不然无法继续处理
train_db = tf.data.Dataset.from_tensor_slices((x, y))
# 将数据顺序打散
train_db = train_db.shuffle(10000)  # 数字为缓冲池的大小
# 设置批训练
train_db = train_db.batch(512)  # batch size 为 128
#预处理函数
def preprocess(x, y):   # 输入x的shape 为[b, 32, 32], y为[b]
    # 将像素值标准化到 0~1区间
    x = tf.cast(x, dtype=tf.float32) / 255.
    # 将图片改为28*28大小的
    x = tf.reshape(x, [-1, 28 * 28])
    y = tf.cast(y
  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值