Tensorflow教程-MNIST 数据下载

源码: input_data.py下载用于训练和测试的MNIST数据集的源码

准备数据

MNIST是在机器学习领域中的一个经典问题。该问题解决的是把28x28像素的灰度手写数字图片识别为相应的数字,其中数字的范围从0到9.

MNIST Digits

更多详情, 请参考 Chris Olah's visualizations of MNIST.

下载

train-images-idx3-ubyte.gz训练集图片 - 55000 张 训练图片, 5000 张 验证图片t10k-images-idx3-ubyte.gz测试集图片 - 10000 张 图片<a rel="nofollow" href="http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz" "="" style="box-sizing: border-box; color: rgb(45, 133, 202); text-decoration: none; background-color: transparent;">t10k-labels-idx1-ubyte.gz测试集图片对应的数字标签

在 input_data.py 文件中, maybe_download() 函数可以确保这些训练数据下载到本地文件夹中。

文件夹的名字在 fully_connected_feed.py 文件的顶部由一个标记变量指定,你可以根据自己的需要进行修改。

解压 与 重构

这些文件本身并没有使用标准的图片格式储存,并且需要使用input_data.py文件中extract_images() 和extract_labels()函数来手动解压(页面中有相关说明)。

图片数据将被解压成2维的tensor:[image index, pixel index] 其中每一项表示某一图片中特定像素的强度值, 范围从[0, 255] 到 [-0.5, 0.5]。 "image index"代表数据集中图片的编号, 从0到数据集的上限值。"pixel index"代表该图片中像素点得个数, 从0到图片的像素上限值。

train-*开头的文件中包括60000个样本,其中分割出55000个样本作为训练集,其余的5000个样本作为验证集。因为所有数据集中28x28像素的灰度图片的尺寸为784,所以训练集输出的tensor格式为[55000, 784]

数字标签数据被解压称1维的tensor: [image index],它定义了每个样本数值的类别分类。对于训练集的标签来说,这个数据规模就是:[55000]

数据集 对象

底层的源码将会执行下载、解压、重构图片和标签数据来组成以下的数据集对象:

数据集目的
data_sets.train55000 组 图片和标签, 用于训练。
data_sets.validation5000 组 图片和标签, 用于迭代验证训练的准确性。
data_sets.test10000 组 图片和标签, 用于最终测试训练的准确性。

执行read_data_sets()函数将会返回一个DataSet实例,其中包含了以上三个数据集。函数DataSet.next_batch()是用于获取以batch_size为大小的一个元组,其中包含了一组图片和标签,该元组会被用于当前的TensorFlow运算会话中。

images_feed, labels_feed = data_set.next_batch(FLAGS.batch_size)

原文地址:btpeter 校对:waiwaizheng

上一篇: 偏微分方程 下一篇: 总览

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TensorFlow MNIST例程是一个非常经典的入门示例,用于演示如何使用TensorFlow库来构建和训练一个简单的卷积神经网络,以识别手写数字图像。这个例程在CSDN上可以进行下载。 该例程主要包括以下步骤: 1. 导入相关的Python库和TensorFlow模块,包括数据集导入、模型定义、运行会话和模型评估所需的函数和类。 2. 导入MNIST手写数字数据集,该数据集包含60000个训练样本和10000个测试样本。 3. 定义卷积神经网络模型,包括卷积层、池化层和全连接层。通过调整网络的层数和每层的神经元数量,可以改变模型的性能。 4. 定义损失函数和优化器,用于最小化模型在训练数据上的预测误差。常用的损失函数包括交叉熵和平方差损失。 5. 创建会话,并使用训练数据迭代多次对模型进行训练。每次迭代,通过向模型输入训练数据和期望的输出标签,并调用优化器来更新模型的参数。 6. 在训练结束后,使用测试数据对模型进行评估,并计算预测准确率。 7. 最后,可以将经过训练的模型应用于新的手写数字图像进行预测,以验证模型的泛化能力。 下载该例程后,可以通过在Python环境运行该文件,逐步学习和理解各个部分的代码和功能。这个例程对于初学者来说是一个非常好的学习资源,可以帮助他们理解TensorFlow的基本使用方法和卷积神经网络的原理。同时,CSDN上还有许多相关的教程和博客,可以进一步扩展和深入了解这个例程的细节和应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值