[数据集]cifar-10
cifar-10
数据集保存10
类,每类6000
张图像。其中50000
张训练图像和10000
张测试图像
训练图像保存在5
个文件中,每个文件有10000
张图像,测试图像保存在一个文件,训练和测试图像都以随机顺序保存
cifar-10
提供了使用不同语言生成的压缩包,包括python/matlab/c
python
解析
训练文件命名为data_batch_1/data_batch_2/data_batch_3/data_batch_4/data_batch_5
测试文件命名为test_batch
另外还有一个元数据文件batches.meta
,保存了标签名对应的类名,比如label_names[0] == "airplane", label_names[1] == "automobile"
python
版压缩包使用pickle
模块进行保存,解析程序如下,返回一个dict
1 | def unpickle(file): |
以测试集文件为例,其包含以下键值对
1 | dict_keys([b'batch_label', b'labels', b'data', b'filenames']) |
其中b'labels'
保存类别标签(0-9
),b'data'
保存对应图像数据,b'filenames'
保存图像文件名
1 | if __name__ == '__main__': |
数据格式
键b'data'
保存了图像数据,其值类型是numpy.ndarray
,每一行都保存了32x32
大小图像数据
其中前1024
个字节是红色分量值,中间1024
个字节是绿色分量值,最后1024
个字节是蓝色分量值
解析程序如下:
1 | # -*- coding: utf-8 -*- |
解压代码
完整解压代码如下:
1 | # -*- coding: utf-8 -*- |
读取图像
读取解压后的图像并显示,代码如下:
1 | if __name__ == '__main__': |