复现代码的过程中,简单了解了作者使用的数据集CIFAR-10 dataset ,简单记录一下。 CIFAR-10数据集是8000万微小图片的标签子集,它的收集者是:Alex Krizhevsky, Vinod Nair, Geoffrey Hinton。 数据集由6万张32*32的彩色图片组成,一共有10个类别。每个类别6000张图片。其中有5万张训练图片及1万张测试图片。 数据集被划分为5个训练块和1个测试块,每个块1万张图片。 测试块包含了1000张从每个类别中随机选择的图片。训练块包含随机的剩余图像,但某些训练块可能对于一个类别的包含多于其他类别,训练块包含来自各个类别的5000张图片。 这些类是完全互斥的,及在一个类别中出现的图片不会出现在其它类中。 数据集版本 作者提供了3个版本的数据集:python version; Matlab version; binary version。 可根据自己的需求选择。 数据集下载地址:下载链接 数据集布置 以python version进行介绍,Matlab version与之相同。 下载后获得文件 data_batch_1, data_batch_2,…, data_batch_5。测试块相同。这些文件中的每一个都是用cPickle生成的python pickled对象。 具体使用方法:
def unpickle(file):
import pickle
with open(file, 'rb') as fo:
dict = pickle.load(fo, encoding='bytes')
return dict
返回字典类,每个块的文件包含一个字典类,包含以下元素: data: 一个100003072的numpy数组(unit8)每个行存储3232的彩色图片,3072=1024*3,分别是red, green, blue。存储方式以行为主。 labels:使用0-9进行索引。 数据集包含的另一个文件batches.meta同样包含python字典,用于加载label_names。如:label_names[0] == “airplane”, label_names[1] == “automobile”
|