图片分类 STL-10 数据集下载及使用指南

news2024/9/25 9:39:31

转载自安全验证 - 知乎

这次给大家介绍的 STL10数据集,是图片分类任务早期常用的基准数据集之一,虽然只有10种样本,图片尺寸也偏小,但是标注类型比较平衡,各种种类都有各500张(train)/800张(test),用于模型训练可以达到比较好的准确度。一起来看看。

下载地址:STL-10 dataset

一、数据集简介

发布方:Adam Coates

发布时间:2011

背景:

STL-10数据集是一个用于开发无监督特征学习、深度学习、自监督学习算法的图像识别数据集。

其灵感来自CIFAR-10数据集,每个类别的标注图像数量相比CIFAR-10中的要少,但提供了大量的无标注图像来做无监督预训练,其主要的挑战是利用无标签图像来构建先验知识。

简介:

STL-10的图像来自ImageNet,共有113000张96 x 96分辨率的RGB图像,其中训练集为5000张,测试集为8000张,其余100000张均为无标签图像。

二、数据集详细信息

1. 标注类别

idname
1airplane
2bird
3car
4cat
5deer
6dog
7horse
8monkey
9ship
10truck

2. 数据量

训练集包含5000张有标注的图像,每个类别500张,图像来自ImageNet。

测试集包含8000张有标注的图像,每个类别800张,图像来自ImageNet。

无标签集包含100000张无标注的图像,除包含以上10个类别外,还包括其他类别的动物以及车辆,图像来自ImageNet。

3. 训练流程

官方将训练集分为了10个fold,每个fold包含1000张图片。训练时应在每个fold上均训练一次,然后在测试集上评测模型性能。

4. 可视化

三、数据集文件结构解读

1. 目录结构

STL-10 Dataset/
├── train_X.bin            #训练集图像数据
├── train_y.bin            #训练集图像标注
├── test_X.bin             #测试集图像数据
├── test_y.bin             #测试集图像数据
├── unlabeled_X.bin        #无标签图像数据
├── class_names.txt        #数据集类别名称
└── fold_indices.txt       #训练集的fold划分信息STL-10 Dataset/

 2. 元信息格式

class_names.txt中存储了类别名称信息,每一行对应一个类别,具体内容如下:

airplane
bird
car
cat
deer
dog
horse
monkey
ship
truck

fold_indices.txt中存储了训练集的fold划分信息,每一行对应一个fold所包含的1000张图像的index。index从0开始,对应train_X.bin中的图像顺序。其前三行的部分内容如下:

3629 980 2693 3595 2169 817 2970 3494 1904 4503 3204 4305 1261 1199 ...
2633 4392 2850 4016 2255 3160 4632 891 3531 2671 1340 1651 3493 4439 ...
1355 3916 3348 3417 2726 3245 41 3239 313 1053 4002 3881 3328 3494 ...
...

3. 标注格式

训练集、测试集以及无标签图像的数据均存储在后缀为"_X.bin"的二进制文件中,存储格式为列优先,一次一个通道 (前96x96的值是R通道,接下来的96X96是G通道,最后是B通道),值在0-255之间。

训练集和测试集的标注存储在后缀为"_y.bin"的二进制文件中,值在1-10之间。

#读取数据脚本
import numpy as np

image_path = 'train_X.bin' #test_X.bin/unlabeled_X.bin
label_path = 'train_y.bin' #test_y.bin
with open(image_path, 'rb') as f:
    images = np.fromfile(f, dtype=np.uint8)
    images = images.reshape(-1, 3, 96, 96).transpose(0, 3, 2, 1) 

with open(label_path , 'rb') as f:
    labels = np.fromfile(f, dtype=np.uint8)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/367435.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深度解析linux的文件系统

背景:虚拟文件系统(有时也称作虚拟文件交换,更常见的是简称VFS)作为内核子系统,为用户空间程序提供了文件和文件系统相关的接口。系统中所有文件系统不但依赖VFS共存,而且也依靠VFS系统协同工作。通过虚拟文件系统&…

动态规划(一):01背包问题和完全背包问题

动态规划 目录动态规划1.01背包问题1.1题目介绍1.2思路一介绍(二维数组)1.3思路二介绍(一维数组) 空间优化1.4思路三介绍(输入数据优化)2.完全背包问题2.1题目描述:2.2思路一(朴素算法)2.3思路二(将k优化处理掉)2.4思路三(优化j的初始条件)总结1.01背包问题 1.1题目…

求职-进度

2-23 投递 恒生校招 C https://campus.hundsun.com/personal/deliveryRecord 投递 合合信息 大数据开发工程师 https://intsig.zhiye.com/personal/deliveryRecord 投递 尚游网络 游戏服务器开发工程师 https://app.mokahr.com/campus_apply/shangyou/36582?recommendCodeDS…

项目管理中,哪些信息差是不应该存在的呢?

在项目管理中,如果存在信息差,那么就会存在了巨大的问题,从而导致项目的失败。 项目管理中哪些信息差是不应该存在的呢? 1、项目背景 项目经理接手项目,首先要了解清楚项目背景,避免在项目过程中对自己…

计算句子向量相似度:SentenceBert和SimCSE

SentenceBert Sentence-BERT: 如何通过对比学习得到更好的句子向量表示 - 哔哩哔哩 (bilibili.com) (229条消息) Sentence-BERT详解_数学家是我理想的博客-CSDN博客_sentence-bert 动机: 直接把2个句子串联起来输入Bert做分类(即Cross-Encoder方式&…

Blazor入门100天 : 身份验证和授权 (6) - 使用 FreeSql orm 管理ids数据

目录 建立默认带身份验证 Blazor 程序角色/组件/特性/过程逻辑DB 改 Sqlite将自定义字段添加到用户表脚手架拉取IDS文件,本地化资源freesql 生成实体类,freesql 管理ids数据表初始化 Roles,freesql 外键 > 导航属性完善 freesql 和 bb 特性 本节源码 https://github.com/…

Maven基础-又简单又详细

如果文章对你有帮助欢迎【关注❤️❤️❤️点赞👍👍👍收藏⭐⭐⭐】一键三连!一起努力! 一、Maven简介 1、maven是什么 Maven的本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型&#x…

JavaTCP通信程序

3 TCP通信程序 3.1 TCP通信原理 TCP通信协议是一种可靠的网络协议, 它在通信的两端名建立一个Socke对象, 从而在通信的两端形成网络虚拟链路一旦建立了 虚拟的网络链路,两端的程序就可以通过虚拟链路进行通信Java对基于TCP协议的的网络提供…

python3.11.2安装 + pycharm安装

下载 :https://www.python.org/ 2.双击下载的软件: 3.进入安装界面 下一步,点击 是 上一步点击后就看到如下: 安装成功了,接下来检测一下:cmd 安装pycharm PyCharm是一种Python IDE(Integr…

office三件套与mathtype的安装和导入word

0. 前言 网上大部分说的不够具体,说的比较具体的就是下面这篇文章,但关键他路径还是错的。 MathType如何导入word 可能因为他是32位系统,所以office中某些路径和设置不一样,下文中一一指出。 mathtype导入word0. 前言1. 安装1.…

springboot整合springdata jpa全能书

一:spring data jpa介绍 spring data:其实spring data就是spring提供了一个操作数据的框架。而spirng data jpa只是spring data框架下的一个基于jpa标准操作数据的模块。 spring data jpa:基于jpa的标准对数据进行操作。简化操作持久层的代码。只需要编…

GEE学习笔记 五十二:Google Earth Studio初体验

Google Earth Studio出来一段时间了,自己也体验了一番。这里做一个简单的体验总结,为那些还没有体验过的小伙伴展示一下Google Earth Sutdio究竟长什么样子,能做什么? 注:这篇文章营养价值不大,纯粹是展示…

京东测开岗3+1面经+经验分享,拿到offer,月薪34k....

现在,招聘黄金时间已经来临,在网上看了很多大佬的面经,也加了很多交流群,受到了很多朋友的提点,今天终于轮到我来分享面经啦,之前面试了几家公司,最后拿到了京东测试岗的 offer,这里…

【机器学习、深度学习】损失函数

1.什么是损失函数 ​ 损失函数(Loss Function)又叫做误差函数,用来衡量算法拟合数据的好坏程度,评价模型的预测值与真实值的不一致程度,是一个非负实值函数,通常使用L(Y, f(x))​来表示&#xff0…

canvas初学1

前端数据可视化方案&#xff1a; 一、canvas绘制直线 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewpor…

CentOS 8利用Apache安装部署文件服务器

1&#xff1a;部署的目的是做一个类似下面开源镜像网站&#xff0c;把一些软件或者资料上传到服务器上面&#xff0c;减少用户在互联网上下载资料&#xff0c;提高效率&#xff0c;减少病毒。 2&#xff1a;使用下面的命令配置本机的IP地址主机名等信息。后期使用IP地址进行访问…

任意网络环境实现外网访问分销ERP

随着企业业务的不断扩展&#xff0c;经营网点遍布全国不同的区域&#xff0c;传统的管理手段存在诸多问题&#xff0c;无法实时监控各地分公司、办事处及营业网点的经营状况&#xff1b;订货、销售、库存等数据和信息反馈不及时&#xff0c;商品积压、缺货情况经常出现&#xf…

软件项目管理知识回顾---软件项目进度管理

软件项目进度管理 4.进度管理 4.1进度管理 1.概念&#xff1a;按时保质的完成任务 2.目的&#xff1a;按时完成任务&#xff0c;合理分配资源&#xff0c;发挥最佳的工作效率 3.活动&#xff1a;工作包分解出的进度活动 4.内容&#xff1a;项目进度计划的指定和项目进度计划的执…

一篇了解分布式id生成方案

系统唯一ID是我们在设计一个系统的时候常常会遇见的问题&#xff0c;也常常为这个问题而纠结。生成ID的方法有很多&#xff0c;适应不同的场景、需求以及性能要求。所以有些比较复杂的系统会有多个ID生成的策略。下面就介绍一些常见的ID生成策略。 1.数据库自增长序列或字段 …

BabylonJS之放烟花

BabylonJS烟花效果视频一&#xff1a; 技术调研 1. 方案一&#xff1a;ParticleSystem 用ParticleSystem来实现每一束的烟花效果&#xff0c;如果浏览器支持WebGL2功能&#xff0c;使用GPUParticleSystem性能会有极大的提升。 优点&#xff1a; 烟花效果易实现且效果好。 缺点…