数据集
数据集说明
MNIST提供两组数据,分别是training set和testing set. 作者在这一节中没有使用testing set,并且将training set进一步分成用于训练神经网络的数据和用于验证神经网络的数据。
来源 | 数量 | 名称 | 作用 |
MNIST training set | 50000 | 训练数据集 | 训练神经网络 |
MNIST training set | 10000 | 验证数据集 | 验证神经网络 |
MNIST testing set | 10000 | 测试数据集 | 本章未使用 |
下载数据集
网上提供的直接通过tensorflow下载数据的方法,试了都是各种报错。
书上没有直接使用tensorflow的接口下载数据,而是先下载好数据的压缩包link。代码读取压缩包并解压出数据。
相关代码
gzip: 文件压缩与解压缩 pickle: 用于python特有的类型和python的数据类型间进行转换 zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
从数据集文件解压
读出数据
将数据转换为算法需要的格式 训练数据: 转换后的训练数据为一个list。 list中包含m个元组:[tuple(),tuple(), ... ,tuple()] 每个元组中包含一个样本和它对应的标签: 样本是指原始数据为行量,这里对它做了转置,成了一个列向量,或者说是784*1的矩阵:
样本标签是指将yi向量化,并且也是列向量,或者说是10*1的矩阵。例如yi=5转化为:
验证数据: 转换后的验证数据为一个list。 list中包含m个元组:[tuple(),tuple(), ... ,tuple()] 每个元组中包含一个样本和它对应的标签yi: 的格式与训练数据的相同。 yi则是仍然后原始数据的yi 测试数据: 在这一章中暂时不需要使用测试数据。 也可以先把测试数据准备好了。 转换的目标格式和验证数据相同。
Last updated