Dataset之CIFAR-10:CIFAR-10数据集简介、下载、使用方法之详细攻略
CIFAR-10简介
官网链接:The CIFAR-10 dataset
CIFAR-10是一个更接近普适物体的彩色图像数据集。CIFAR-10 是由Hinton 的学生Alex Krizhevsky 和Ilya Sutskever 整理的一个用于识别普适物体的小型数据集。一共包含10 个类别的RGB 彩色图片:飞机( airplane )、汽车( automobile )、鸟类( bird )、猫( cat )、鹿( deer )、狗( dog )、蛙类( frog )、马( horse )、船( ship )和卡车( truck )。
每个图片的尺寸为32 × 32 ,每个类别有6000个图像,数据集中一共有50000 张训练图片和10000 张测试图片。
1、与MNIST 数据集中目比, CIFAR-10 真高以下不同点
- (1)、CIFAR-10 是3 通道的彩色RGB 图像,而MNIST 是灰度图像。
- (2)、CIFAR-10 的图片尺寸为32 × 32 , 而MNIST 的图片尺寸为28 × 28 ,比MNIST 稍大。
- (3)、相比于手写字符, CIFAR-10 含有的是现实世界中真实的物体,不仅噪声很大,而且物体的比例、特征都不尽相同,这为识别带来很大困难。直接的线性模型如Softmax 在CIFAR-10 上表现得很差。
2、TensorFlow 官方示例的CIFAR-10 代码文件
3、CIFAR-10 数据集的数据文件名及用途
在CIFAR-10 数据集中,文件data_batch_1.bin、data_batch_2.bin 、··data_batch_5.bin 和test_ batch.bin 中各有10000 个样本。一个样本由3073 个字节组成,第一个字节为标签label ,剩下3072 个字节为图像数据。样本和样本之间没高多余的字节分割, 因此这几个二进制文件的大小都是30730000 字节。
文件名 | 文件用途 |
batches.meta. bet | 文件存储了每个类别的英文名称。可以用记事本或其他文本文件阅读器打开浏览查看 |
data batch I.bin 、 data batch 2.bm 、 …… data batch 5.bin | 这5 个文件是CIFAR- 10 数据集中的训练数据。每个文件以二进制格式存储了10000 张32 × 32 的彩色图像和这些图像对应的类别标签。一共50000 张训练图像 |
test batch.bin | 这个文件存储的是测试图像和测试图像的标签。一共10000 张 |
readme.html | 数据集介绍文件 |
CIFAR-10下载
1、下载CIFAR-10 数据集的全部数据
FLAGS = tf.app.flags.FLAGS
cifar10.maybe_download_and_extract()
>> Downloading cifar-10-binary.tar.gz 0.0%
……
>> Downloading cifar-10-binary.tar.gz 0.0%
>> Downloading cifar-10-binary.tar.gz 0.1%
……
>> Downloading cifar-10-binary.tar.gz 0.1%
>> Downloading cifar-10-binary.tar.gz 0.2%
……
>> Downloading cifar-10-binary.tar.gz 0.2%
>> Downloading cifar-10-binary.tar.gz 0.3%
……
>> Downloading cifar-10-binary.tar.gz 98.9%
……
>> Downloading cifar-10-binary.tar.gz 99.0%
……
>> Downloading cifar-10-binary.tar.gz 100.0%
Successfully downloaded cifar-10-binary.tar.gz 170052171 bytes.
CIFAR-10使用方法
1、使用TF读取CIFAR-10 数据
- (1)、用tf.train.string_ input producer 建立队列。
- (2)、通过reader.read 读数据。一个文件就是一张图片,因此用的reader 是tf.WholeFileReader()。CIFAR-10 数据是以固定字节存在文件中的,一个文件中含再多个样本,因此不能使用tf. WholeFileReader (),而是用tf.FixedLengthRecordReader() 。
- (3)、调用tf. train . start_ queue_ runners 。
- (4)、最后,通过sess.run()取出图片结果。
相关文章
TF:利用TF读取数据操作,将CIFAR-10 数据集中的训练图片读取出来,并保存为.jpg 格式