MNIST数据集简介与使用
MNIST数据集简介
MNIST
数据集来自美国国家标准与技术研究所, National Institute of Standards and Technology (NIST)
。训练集(training set
)由来自250
个不同人手写的数字构成,其中50%
是高中学生,50%
来自人口普查局(the Census Bureau
)的工作人员。测试集(test set
)也是同样比例的手写数字数据,但保证了测试集和训练集的作者集不相交。
MNIST
数据集一共有7
万张图片,其中6
万张是训练集,1
万张是测试集。每张图片是28×2828\times 2828×28的0−90-90−9的手写数字图片组成。每个图片是黑底白字的形式,黑底用0
表示,白字用0-1
之间的浮点数表示,越接近1
,颜色越白。
将28×2828\times 2828×28维的图片矩阵拉直,转化为1×7841\times 7841×784维的向量不影响理解:
[0,0,0,0.345,0.728,0.310,0.402,0,0,0,⋯,0,0,0][0,0,0,0.345,0.728,0.310,0.402,0,0,0,\cdots,0,0,0][0,0,0,0.345,0.728,0.310,0.402,0,0,0,⋯,0,0,0]
图片的标签以一维数组的one-hot
编码形式给出:
[0,0,0,0,0,1,0,0,0,0][0,0,0,0,0,1,0,0,0,0][0,0,0,0,0,1,0,0,0,0]每个元素表示图片对应的数字出现的概率,显然,该向量标签表示的是数字555。
MNIST
数据集下载地址是http://yann.lecun.com/exdb/mnist/,它包含了444个部分:
- 训练数据集:train-images-idx3-ubyte.gz (9.45 MB,包含60,000个样本)。
- 训练数据集标签:train-labels-idx1-ubyte.gz(28.2 KB,包含60,000个标签)。
- 测试数据集:t10k-images-idx3-ubyte.gz(1.57 MB ,包含10,000个样本)。
- 测试数据集标签:t10k-labels-idx1-ubyte.gz(4.43 KB,包含10,000个样本的标签)。
使用TensorFlow
导入数据集
在这里,使用Jupyter NoteBook
来运行有关MNIST
数据集的程序实现。
代码实现
- 使用
TensorFlow
读取数据集。
注意事项: 亲自实验的时候,使用上述代码,原本应该是需要下载,但下载不动。提前下载好,直接放到正确地址下也是可以的。
import tensorflow.examples.tutorials.mnist.input_data as input_data
mnist = input_data.read_data_sets("MNIST_data/", one_hot=False)
'''
Extracting MNIST_data/train-images-idx3-ubyte.gz
Extracting MNIST_data/train-labels-idx1-ubyte.gz
Extracting MNIST_data/t10k-images-idx3-ubyte.gz
Extracting MNIST_data/t10k-labels-idx1-ubyte.gz
'''
- 打印
MNIST
数据集中的一些信息。
print("MNIST数据集的类型是: %s'" % (type(mnist)))
print("训练集的数量是:%d" % mnist.train.num_examples)
print("验证集的数量是:%d" % mnist.validation.num_examples)
print("测试集的数量是:%d" % mnist.test.num_examples)
'''
MNIST数据集的类型是: <class 'tensorflow.contrib.learn.python.learn.datasets.base.Datasets'>'
训练集的数量是:55000
验证集的数量是:5000
测试集的数量是:10000
'''
- 将所有数据集,加载为数组形式,方便之后的使用。
train_img = mnist.train.images
train_label = mnist.train.labels
test_img = mnist.test.images
test_label = mnist.test.labelsprint("Type of training is %s" % (type(train_img )))
print("Type of trainlabel is %s" % (type(train_label )))
print("Type of testing is %s" % (type(test_img )))
print("Type of testing is %s" % (type(test_label )))
'''
Type of training is <class 'numpy.ndarray'>
Type of trainlabel is <class 'numpy.ndarray'>
Type of testing is <class 'numpy.ndarray'>
Type of testing is <class 'numpy.ndarray'>
'''
- 获取前
10
条MNSIT
数据集的图片形式,如下图所示:
import numpy as np
import matplotlib.pyplot as pltfor i in range(10):img = np.reshape(train_img [i, :], (28, 28))label = np.argmax(train_img [i, :])plt.matshow(img, cmap = plt.get_cmap('gray'))plt.show()
![]() |
![]() |
![]() |
![]() |
![]() |
---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
可以看到,读取的数据是从MNIST
数组开头开始的,但数字便签并不是从0
开始,是随机的、无序的。
to be continued…
MNIST数据集简介与使用相关推荐
- Mnist数据集简介
1,基本概念 MNIST是一个非常有名的手写体数字识别数据集,在很多资料中,这个数据集都会被用作深度学习的入门样例.而TensorFlow的封装让使用MNIST数据集变得更加方便.MNIST数据集是N ...
- MNIST 数据集简介
转自:https://blog.csdn.net/simple_the_best/article/details/75267863 MNIST 数据集已经是一个被"嚼烂"了的数据集 ...
- Dataset之MNIST:MNIST(手写数字图片识别+ubyte.gz文件)数据集简介、下载、使用方法(包括数据增强)之详细攻略
Dataset之MNIST:MNIST(手写数字图片识别+ubyte.gz文件)数据集简介+数据增强(将已有MNIST数据集通过移动像素上下左右的方法来扩大数据集为初始数据集的5倍) 目录 MNIST ...
- mnist数据集读取并保存为Numpy数组
背景信息 MNIST数据集简介 MNIST数据集是从 NIST 的Special Database 3(SD-3)和Special Database 1(SD-1)构建而来.由于SD-3是由美国人口调 ...
- 机器学习之sklearn使用下载MNIST数据集进行分类识别
机器学习之sklearn使用下载MNIST数据集进行分类识别 一.MNIST数据集 1.MNIST数据集简介 2.获取MNIST数据集 二.训练一个二分类器 1.随机梯度下降(SGD)分类器 2.分类 ...
- 全面理解主成分分析(PCA)和MNIST数据集的Python降维实现
注:本博文为原创博文,如需转载请注明原创链接!!! 这篇博文主要讲述主成分分析的原理并用该方法来实现MNIST数据集的降维. 一.引言 主成分分析是一种降维和主成分解释的方法.举一个比较容易理 ...
- caffe(ubuntu14.04)学习笔记1——运行MNIST数据集模型
MNIST数据集简介: MNIST数据集是一个大型的手写体数据库,广泛用于机器学习领域的训练和测试,它是由纽约大学的Yann LeCun教授整理的,包括60000个训练样本和10000个测试样本,其图 ...
- MNIST数据集的导入与预处理
在做KNN+LDA对MNIST数据集分类时遇到了不少坑,本篇文章主要是记录一下解决这些坑的方案,完整的代码和实验报告等作业结束提交后再进行上传. MNIST数据集 MNIST数据集简介 MNIST数据 ...
- MNIST数据集提取图片和标注信息
MNIST数据集 简介 MNIST数据集(http://yann.lecun.com/exdb/mnist/)是著名的手写数字分类数据集,主要由一下四部分组成: 训练集图片:train-images. ...
最新文章
- 阿里巴巴为什么不建议直接使用 Async 注解?
- Redis实现广告缓存、并完善缓存击穿
- ResDepot CRC码
- docker 核心概念整理
- 图像处理和计算机视觉中的经典论文(部分)
- [云炬创业基础笔记]第二章创业者测试2
- 一篇非常有用的文章-《台湾清华彭明辉教授的研究生手册》如何发现一个研究课题?
- matplotlib数据可视化实战——折线图+散点图
- 千氪|比特币十周年大事记
- 简单直观理解形态学中的开运算和闭运算
- GNU make manual 翻译(六十六)
- 查看Linux配置的NTP,查看linux安装ntp服务器配置
- cx oracle 中文 u,cx_Oracle 中文乱码
- 全球20大半导体企业无1家入围,中国半导体任重道远
- 红包雨架构设计---1、技术架构
- windows 进程通信(使用DDE)
- 计算机找不到 bitlocker,win7找不到bitlocker怎么解决?-在win7中查找bitlocker驱动器加密的方法 - 河东软件园...
- Qt Creator 的下载与安装
- 袋鼠云的mysql_袋鼠云数据中台专栏2.0 | 数据中台之数据集成
- 直播间人气互动软件教程
热门文章
- 【B-树、B+树、B* 树】多叉平衡搜索树,解决“IO次数”与“树高”问题~
- SCL语言如何进行运算和表达式计算?
- UE官方教程笔记01-实时渲染基础上
- c语言设置一个8位缓存区程序,单片机 并口 控制爱普生打印机开发流程记录
- 数据集少?那就来数据增强吧?
- python语言的开题报告怎么写_论文开题报告怎么写?
- 新浪博客插入代码(块)及代码高亮…
- matlab projinv,有没有大神救救孩子?
- 智慧交通全生命周期管理,打造绿色城市可持续发展
- 蚂蚁集团2022-09-15笔试