
本文共 979 字,大约阅读时间需要 3 分钟。
解析CIFAR-10训练数据集
CIFAR-10是一个常用的机器学习数据集,包含5000多张_rgb图像,分布于10个类别。数据集被分成不同的批次,每个批次包含500张图像,与对应的标签信息。
获取CIFAR-10训练数据集可以通过以下步骤完成:
1.前往指定的文件下载地址,获取对应的提取码。2.使用文件提取工具解压文件,并将数据导入到你的项目目录中。3.确保存储路径正确,避免文件损坏或丢失。
数据解析示例以下是数据集文件格式的简要说明:
- 每个数据批次使用pickle文件格式存储。
- 数据结构包含多个键值对,包括_data(图像数据)、labels(标签)、batch_label(批次标识)、filenames(文件名)。
- 图像数据以numpy数组形式存储,形状为32x32x3(宽x高x通道)。
例:获取第一个批次数据
import osimport numpy as npimport pickle
CIFAR_DIR = "./cifar-10-batches-py"
查看目录内容
print(os.listdir(CIFAR_DIR))
打开数据文件并读取
with open(os.path.join(CIFAR_DIR, "data_batch_1"), 'rb') as f:data = pickle.load(f, encoding='bytes')print(type(data))print(data.keys())print(data[b'data'].shape)print(data[b'data'][0:2])print(data[b'labels'][0:2])print(data[b'batch_label'])
图片显示结果以下是第100个索引的图片内容:
import matplotlib.pyplot as pltfrom matplotlib.pyplot import imshow
image_arr = data[b'data'][100]image_arr = image_arr.reshape((3, 32, 32)) # 调整维度image_arr = image_arr.transpose((1, 2, 0)) # 调整为 camaraderie等顺序imshow(image_arr)
发表评论
最新留言
关于作者
