ImageNet 数据集下载与处理(亲测 实用有效无坑版)

article/2025/11/5 14:38:20

下载

通常下载方式有两种, 官网下载和第三方网站上传的资源下载。这里推荐第三方下载,因为官网可能会存在注册麻烦,网页卡顿的情况。
第三方下载方式如下:
里面包含几乎所有常用的ImageNet的数据集以及标注文件。
https://pan.baidu.com/s/1MEjNh6evha2hcdrQXjNv8w
提取码:yzza

处理

下载完毕后把 Development kit 留着备用,我们会得到训练集与验证集的两个压缩包,分别是 ILSVRC2012_img_train.tar 和 ILSVRC2012_img_val.tar。
分别将其解压到原文件夹(当然也可以自己新建文件夹)。

对于train的压缩包,解压之后其实还是1000个tar压缩包(对应1000个类别),需要再次解压,解压脚本unzip.sh如下(PS:可能需要自己改一下目录 dir ):(这里也可以用解压软件一键解压)

dir=./train 
for x in `ls $dir/*tar` do     filename=`basename $x .tar`     mkdir $dir/$filename     tar -xvf $x -C $dir/$filename 
done 
rm *.tar

执行脚本之后,我们就获得了1000个文件夹和对应的图片数据了。
对于训练集,不同类别的数据躺在不同的文件夹里,用起来很方便(同一文件夹的视为一类)。但是验证集没有对应的标签,需要额外处理。
验证集的标签在 Development kit (文件名为 ILSVRC2012_devkit_t12.tar.gz)中的ILSVRC2012_devkit_t12\data\ILSVRC2012_validation_ground_truth.txt 中:
在这里插入图片描述
但是新的问题又来了,那就是这个数字和文件夹的名字虽然是一一对应的,但还是需要额外的映射……好在映射关系储存在和txt文件同目录下的 meta.mat 文件中。我们希望验证集的文件结构长得和训练集一样,即 :
在这里插入图片描述
因此,我们首先解压 ILSVRC2012_devkit_t12压缩包(与验证集在同一个文件夹下),把我们需要的东西取出来:
之后,在ILSVRC2012_devkit_t12和ILSVRC2012_img_val的根目录下创建并运行如下 python 脚本:

from scipy import io
import os
import shutildef move_valimg(val_dir='./ILSVRC2012_img_val', devkit_dir='./ILSVRC2012_devkit_t12'):"""move valimg to correspongding folders.val_id(start from 1) -> ILSVRC_ID(start from 1) -> WINDorganize like:/val/n01440764images/n01443537images....."""# load synset, val ground truth and val images listsynset = io.loadmat(os.path.join(devkit_dir, 'data', 'meta.mat'))ground_truth = open(os.path.join(devkit_dir, 'data', 'ILSVRC2012_validation_ground_truth.txt'))lines = ground_truth.readlines()labels = [int(line[:-1]) for line in lines]root, _, filenames = next(os.walk(val_dir))for filename in filenames:# val image name -> ILSVRC ID -> WINDval_id = int(filename.split('.')[0].split('_')[-1])ILSVRC_ID = labels[val_id-1]WIND = synset['synsets'][ILSVRC_ID-1][0][1][0]print("val_id:%d, ILSVRC_ID:%d, WIND:%s" % (val_id, ILSVRC_ID, WIND))# move val imagesoutput_dir = os.path.join(root, WIND)if os.path.isdir(output_dir):passelse:os.mkdir(output_dir)shutil.move(os.path.join(root, filename), os.path.join(output_dir, filename))if __name__ == '__main__':move_valimg()

然后就得到和训练集一样文件结构的验证集了。

有问题欢迎留言交流!


http://chatgpt.dhexx.cn/article/aHG0SvqQ.shtml

相关文章

ImageNet ISLVRC2012数据集下载和使用

最近要在imagenet数据集上做实验,以前只知道这个数据集很大,但是没用过,这次亲自下载然后按照训练集和验证集划分好了,记录一下。 主要参考了这个 https://zhuanlan.zhihu.com/p/370799616 目录 1. 数据集下载2. 数据集处理2.1 训…

coco2017数据集下载(百度网盘)

今天,想要下载coco2017的数据集,奈何官网下载速度太慢,下载过程可谓坎坷,为了让有需求的人少走弯路,这里提供我的百度云链接,大家可自行下载,文件中包括的内容如下: 百度云链接&…

kaggle数据集的下载

感谢阅读本文,喜欢请收藏点赞 准备工作1.安装kaggle库2.注册登录kaggle账户3.kaggle.json的下载与使用4.下载数据集 文件保存路径 准备工作 1.安装kaggle库 2.注册登录kaggle账户 点我跳转 (没有帐户的有很多) 3.kaggle.json的下载与使用 …

KITTI数据集下载链接

1、简介 KITTI数据集由德国卡尔斯鲁厄理工学院和丰田美国技术研究院联合创办,是目前国际上最大的自动驾驶场景下的计算机视觉算法评测数据集。该数据集用于评测立体图像(stereo),光流(optical flow),视觉测距(visual odometry),3D…

ImageNet数据集 下载

文章目录 1. ImageNet 说明2. ILSVRC2012 说明3. ImageNet下载方式4. ImageNet数据组织与使用 1. ImageNet 说明 ImageNet官网:http://image-net.org/ ImageNet 由斯坦福李飞飞教授带领创建,ImageNet 本身有2万多个的类别,超过 1400 万张图…

机器学习数据集下载

几个常用的数据集下载网站: 1. kaggle数据集 网址:Find Open Datasets and Machine Learning Projects | KaggleDownload Open Datasets on 1000s of Projects Share Projects on One Platform. Explore Popular Topics Like Government, Sports, Med…

深度学习常用数据集介绍与下载(附网盘链接)

摘要 这篇博文总结了博主收集的深度学习常用的数据集,包含常用的分类、目标检测及人脸识别任务,对每个数据集给出了简要介绍、官网下载网站以及公众号获取的关键字。因为有的数据集较大,官网的下载速度可能比较慢,为了方便大家管…

ScanNet数据集下载

文章目录 前言1.数据集介绍2.数据集获取3.导出数据集 前言 笔者CV小白选手获取ScanNet数据集是真的闹心,好在最后获取成功啦!这里将这两天获取数据集的详细过程记录一下,希望能够帮助到更多人,一起学习进步!(o(&#…

kaggle数据集下载步骤

原文链接:https://blog.csdn.net/lxw234lxw/article/details/102968754 本文以APTOS 2019 Blindness Detection竞赛数据库为例,详解下载步骤。 目录 一、安装kaggle库 二、注册kaggle账号 三、找到需要下载的数据集,并接受规则。 四、下载jso…

公开数据集下载地址

这里写目录标题 一、目标检测,分割数据集1.COCO 数据集COCO2014COCO2017 2.PASCAL VOC数据集voc2007数据集:voc 2012数据集: 二、自动驾驶数据集1. BDD100K 数据集2.Nuscenes 一、目标检测,分割数据集 1.COCO 数据集 COCO是一个…

Java 18 正式发布

Oracle 正式推出Java 18,这是世界排名第一的编程语言和开发平台的最新版本。Java 18 (Oracle JDK 18) 提供了数以千计的性能、稳定性和安全性改进,包括对平台的九项增强,这将进一步提高开发人员的工作效率。 最新的 Java 开发工具包 (JDK) 提…

10种受欢迎的前后端相关开发工具

该篇博客翻译自Best Developer Tools for 2021。 1 GitKraken Git Client 连接Git服务器的GUI客户端,支持Windows、 Mac和Linux操作系统。如果你在使用Git时没有使用GitKraken,每天都会感到麻烦。从此刻起,GitKraken直观的UI帮你执行简单或复…

盘点——iOS应用开发常用工具

针对 iOS 平台的应用开发工作,通常都需要借助 IDE、 SDK 等开发工具以提升开发效率。iOS 平台的应用开发生态环境,正随着更多优秀开发者的加入,而变得越来越完善。那么,对于 iOS 应用开发者来说,该如何选出合适的 IDE 或 SDK 工具呢? 不论是 iOS 应用开发公司,还是个人…

Java语言入门概述

一、Java语言入门 一)Java语言概述 1、计算机的发展,软件开发介绍 概述: 软件:即一系列按照特定的顺序组织的计算机数据和指令的集合、软件分为系统软件和应用软件。 系统软件:系统软件就是指控制和协调计算机及外…

Java 后端开发必读的 6 本书!

以下内容来自公众号逆锋起笔,关注每日干货及时送达 如果你是一个小白,你打算自学JAVA,你如果想找到一份月薪1万的JAVA开发工程师的工作。那么很简单,你只需要花1个月的时间,学完我推荐的这6本书,再结合一些…

Ant、 Maven 、 Gradle—Java构建工具比较

根据相关报告,大多数Java开发人员使用Maven作为他们的主要构建工具,在67%的受访者中。排名第二和第三的分别是20%的Gradle和11%的Ant。 这三个构建工具一直排在Java开发人员的前三个构建工具中。在本文中,我们比较了Maven、Gradle和Ant&#…

利用JConsole工具监控java程序内存和JVM

项目部署成功后时间过不多久内存就撑爆了,所以需要检测工具来监控项目内存情况。 项目内存爆满 docker容器直接挂掉。启动命令上也加上了内存溢出生成dump日志。 -XX:HeapDumpOnOutOfMemoryError -XX:HeapDumpPath/logs/dump.log 解决问题思路大致有两种 &#x…

python的主流开发工具排名,最常用的python开发工具

有哪些值得推荐的 Python 开发工具? 第一款:最强终端 Upterm它是一个全平台的终端,可以说是终端里的IDE,有着强大的自动补全功能,之前的名字叫做:BlackWindow。 有人跟他说这个名字不利于社区推广,改名叫…

2022年推荐算法效率开发必备工具榜单

一.引言 一个优秀的算法工程师应该至少具备3类能力: 基础能力:包含数理统计、机器学习、概率论以及深度学习等相关知识 编程能力:python、C or Java 以及基本的 Sql、linux、shell 命令 核心能力:对数据的敏感程度&#xff0c…

java工具类_16 个超级实用的 Java 工具类

阅读本文大概需要 4 分钟。 出处:alterem juejin.im/post/5d4a25b351882505c105cc6e 在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类。 以下工具类、方法按使用流行度排名,参考数据来源于…