CIFAR10/CIFAR100数据集介绍---有Python版本的二进制数据格式说明

本文主要是介绍CIFAR10/CIFAR100数据集介绍---有Python版本的二进制数据格式说明,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

CIFAR-10/CIFAR-100数据集解析

转载自:https://www.cnblogs.com/cloud-ken/p/8456878.html

觉得有用的话,欢迎一起讨论相互学习~Follow Me

参考文献
CIFAR-10/CIFAR-100数据集

CIFAR-10和CIFAR-100被标记为8000万个微小图像数据集的子集。他们由Alex Krizhevsky,Vinod Nair和Geoffrey Hinton收集。

CIFAR-10数据集

CIFAR-10数据集由10个类的60000个32x32彩色图像组成,每个类有6000个图像。有50000个训练图像和10000个测试图像。
数据集分为五个训练批次和一个测试批次,每个批次有10000个图像。测试批次包含来自每个类别的恰好1000个随机选择的图像。训练批次以随机顺序包含剩余图像,但一些训练批次可能包含来自一个类别的图像比另一个更多。总体来说,五个训练集之和包含来自每个类的正好5000张图像。
以下是数据集中的类,以及来自每个类的10个随机图像:

CIFAR-10.png
这些类完全相互排斥。汽车和卡车之间没有重叠。“汽车”包括轿车,SUV,这类东西。“卡车”只包括大卡车。都不包括皮卡车。
airplane/automobile/bird/cat/deer/dog/frog/horse/ship/truck

CIFAR-10下载

CIFAR-10 python版本
CIFAR-10 Matlab版本
CIFAR-10二进制版本(适用于C程序)

数据集布局

Python / Matlab版本

我将描述数据集的Python版本的布局。Matlab版本的布局是相同的。
该存档包含文件data_batch_1,data_batch_2,...,data_batch_5以及test_batch。这些文件中的每一个都是用cPickle生成的Python“pickled”对象。这里是一个python2例程,它将打开这样的文件并返回一个字典:

def unpickle(file):import cPicklewith open(file, 'rb') as fo:dict = cPickle.load(fo)return dict

下面是一个python3实例

def unpickle(file):import picklewith open(file, 'rb') as fo:dict = pickle.load(fo, encoding='bytes')return dict

以这种方式加载的每个批处理文件都包含一个包含以下元素的字典:
数据 - 一个10000x3072 uint8的numpy数组。阵列的每一行存储32x32彩色图像即每一行存储32323=3072个数字信息。前1024个条目包含红色通道值,下一个1024个绿色,最后1024个蓝色。图像以行优先顺序存储,以便数组的前32个条目是图像第一行的红色通道值。
标签 - 范围为0-9的10000个数字的列表。索引i处的数字表示阵列数据中第i个图像的标签。
该数据集包含另一个名为batches.meta的文件。它也包含一个Python字典对象。它有以下条目:
label_names - 一个10个元素的列表,它为上述标签数组中的数字标签赋予了有意义的名称。例如,label_names [0] ==“飞机”,label_names [1] ==“汽车”等

二进制版本

二进制版本包含文件data_batch_1.bin,data_batch_2.bin,...,data_batch_5.bin以及test_batch.bin。这些文件中的每一个格式如下:

<1×标签> <3072×像素>
...
<1×标签> <3072×像素>

换句话说,第一个字节是第一个图像的标签,它是一个0-9范围内的数字。接下来的3072个字节是图像像素的值。前1024个字节是红色通道值,下1024个绿色,最后1024个蓝色。值以行优先顺序存储,因此前32个字节是图像第一行的红色通道值。
每个文件都包含10000个这样的3073字节的“行”图像,但没有任何分隔行的限制。因此每个文件应该完全是30730000字节长。
还有另一个文件,称为batches.meta.txt。这是一个ASCII文件,它将0-9范围内的数字标签映射到有意义的类名称。它仅仅是10个类名的列表,每行一个。第i行的类名称对应于数字标签i。

CIFAR-100.png

CIFAR-100数据集

这个数据集就像CIFAR-10,除了它有100个类,每个类包含600个图像。,每类各有500个训练图像和100个测试图像。CIFAR-100中的100个类被分成20个超类。每个图像都带有一个“精细”标签(它所属的类)和一个“粗糙”标签(它所属的超类)
以下是CIFAR-100中的类别列表:
| 超类 |类别|
| :-: | :-: |
|水生哺乳动物| 海狸,海豚,水獭,海豹,鲸鱼|
|鱼| 水族馆的鱼,比目鱼,射线,鲨鱼,鳟鱼|
|花卉| 兰花,罂粟花,玫瑰,向日葵,郁金香|
|食品容器| 瓶子,碗,罐子,杯子,盘子|
|水果和蔬菜| 苹果,蘑菇,橘子,梨,甜椒|
|家用电器| 时钟,电脑键盘,台灯,电话机,电视机|
|家用家具| 床,椅子,沙发,桌子,衣柜|
|昆虫| 蜜蜂,甲虫,蝴蝶,毛虫,蟑螂|
|大型食肉动物| 熊,豹,狮子,老虎,狼|
|大型人造户外用品| 桥,城堡,房子,路,摩天大楼|
|大自然的户外场景| 云,森林,山,平原,海|
|大杂食动物和食草动物| 骆驼,牛,黑猩猩,大象,袋鼠|
|中型哺乳动物| 狐狸,豪猪,负鼠,浣熊,臭鼬|
|非昆虫无脊椎动物| 螃蟹,龙虾,蜗牛,蜘蛛,蠕虫|
|人| 宝贝,男孩,女孩,男人,女人|
|爬行动物| 鳄鱼,恐龙,蜥蜴,蛇,乌龟|
|小型哺乳动物| 仓鼠,老鼠,兔子,母老虎,松鼠|
|树木| 枫树,橡树,棕榈,松树,柳树|
|车辆1| 自行车,公共汽车,摩托车,皮卡车,火车|
|车辆2| 割草机,火箭,有轨电车,坦克,拖拉机|

SuperclassClasses
aquaticmammals beaver, dolphin, otter, seal, whale
fishaquarium fish, flatfish, ray, shark, trout
flowersorchids, poppies, roses, sunflowers, tulips
foodcontainers bottles, bowls, cans, cups, plates
fruit and vegetablesapples, mushrooms, oranges, pears, sweet peppers
household electrical devicesclock, computer keyboard, lamp, telephone, television
householdfurniture bed, chair, couch, table, wardrobe
insectsbee, beetle, butterfly, caterpillar, cockroach
large carnivoresbear, leopard, lion, tiger, wolf
large man-made outdoor thingsbridge, castle, house, road, skyscraper
large natural outdoor scenescloud, forest, mountain, plain, sea
large omnivores and herbivorescamel, cattle, chimpanzee, elephant, kangaroo
medium-sized mammalsfox, porcupine, possum, raccoon, skunk
non-insect invertebratescrab, lobster, snail, spider, worm
peoplebaby, boy, girl, man, woman
reptilescrocodile, dinosaur, lizard, snake, turtle
small mammalshamster, mouse, rabbit, shrew, squirrel
treesmaple, oak, palm, pine, willow
vehicles 1bicycle, bus, motorcycle, pickup truck, train
vehicles 2lawn-mower, rocket, streetcar, tank, tractor

CIFAR-100下载

CIFAR-100 python版本
CIFAR-100 Matlab版本
CIFAR-100二进制版本(适用于C程序)

数据集布局

Python/matlab版本

python和Matlab版本的布局与CIFAR-10相同.

二进制版本

CIFAR-100的二进制版本与CIFAR-10的二进制版本相似,只是每个图像都有两个标签字节(粗略和细小)和3072像素字节,所以二进制文件如下所示:

<1 x粗标签> <1 x精标签> <3072 x像素>
...
<1 x粗标签> <1 x精标签> <3072 x像素>

这篇关于CIFAR10/CIFAR100数据集介绍---有Python版本的二进制数据格式说明的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/271695

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

异构存储(冷热数据分离)

异构存储主要解决不同的数据,存储在不同类型的硬盘中,达到最佳性能的问题。 异构存储Shell操作 (1)查看当前有哪些存储策略可以用 [lytfly@hadoop102 hadoop-3.1.4]$ hdfs storagepolicies -listPolicies (2)为指定路径(数据存储目录)设置指定的存储策略 hdfs storagepolicies -setStoragePo

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd