基于Tensorflow的MINIST手写体识别

本文介绍了使用Tensorflow进行MINIST手写体识别的步骤,包括数据集下载、图片保存、标签打印和Softmax回归模型的实现。通过创建文件夹保存图片、reshape操作、独热编码以及Softmax函数,实现对手写数字的识别。

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

MINIS手写体识别相当于机器学习中的Hello world,作为深度学习领域的入门任务是初学者的首选。

数据集下载 download.py

1. MINIST数据集

MINIST数据集是一个图片压缩包,包含大量手写数字图片;
其中一个数据样本有两部分构成:手写图片和label;
在这里插入图片描述
数据集每个样本都是(1,784)维度的图片,为了方便展示就像下图一样画成二维矩阵,实际上后面要将向量转换为28*28的二维矩阵;
在这里插入图片描述在这里插入图片描述

2. 读取数据

TensorFlow为了教学MNIST而提前编制了程序,所以只需两行代码就可自动下载数据集文件

from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)
# 从MNIST_data/中读取MNIST数据,这条语句在数据不存在时,会自动执行下载

运行后可以在相应目录下查看到如下数据压缩包
在这里插入图片描述

3. 打印数据集基本信息

数据集可分为:

训练集 测试集 验证集
minist.train minist.test minist.validation
55,000 10,000 5,000
训练模型 多次使用调参 评估模型

将MINIST保存为图片 save_pic.py

1. 创建文件夹保存原始图片

save_dir = 'MNIST_data/raw/'
if os.path.exists(save_dir) is False:  # 判断save_dir文件是否存在
    os.makedirs(save_dir) # os.makedirs()方法用于递归创建目录

2. reshape图片

 # 注意:mnist.train.images[i, :]就表示第i张图片(序号从0开始)
    image_array = mnist.train.images[i, :]
    # TensorFlow中的MNIST图片是一个784维的向量,我们重新把它还原为28x28
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值