多语言展示
当前在线:1197今日阅读:154今日分享:43

怎么用python读取CIFAR10数据集?

要训练人工智能,就需要有充足的数据。网络上有很多数据集,CIFAR10是一个训练图像分类器的数据集。本文介绍一下,python读取CIFAR10数据集的方法。
工具/原料
1

电脑

2

anaconda(python3+)

3

spyder编译器

方法/步骤
2

把下载的压缩包解压到某个文件夹里面。数据集包括6个文件,其中前五个是训练集,最后一个是测试集。

3

我们用咸菜模块来读取数据:# -*- coding: utf-8 -*-import pickledef load(filename):    with open(filename, 'rb') as fo:        data = pickle.load(fo, encoding='latin1')    return data把python代码保存到数据集所在的文件夹里面。

4

读取第一个训练集——data_batch_1:p = 'data_batch_1'd = load(p)

5

上面的d是一个字典,我们来查看一下这个字典的关键字:print(d.keys())一共有四个关键字:'batch_label', 'labels', 'data', 'filenames'

6

查看d的标签:'batch_label'运行结果是:training batch 1 of 5

7

查看d里面的各个数据的标签:print(d['labels'])这些标签是0到9之间的正整数。

8

查看d里面的图片的名称:print(d['filenames'])这些图片全都是png格式。

9

数据集的主体部分,是图片数据:print(d['data'])里面包含着10000张图片。

10

把这10000张图片数据还原为图片:e = d['data']for i in range(len(e)):    cv2.imwrite('a\\'+str(i)+'.jpg',                e[i].reshape(32,32,3))

注意事项

CIFAR10数据集都是mat格式的数据。

推荐信息