ImageNet ISLVRC2012数据集下载和使用

article/2025/11/5 23:15:24

最近要在imagenet数据集上做实验,以前只知道这个数据集很大,但是没用过,这次亲自下载然后按照训练集和验证集划分好了,记录一下。

主要参考了这个 https://zhuanlan.zhihu.com/p/370799616

目录

  • 1. 数据集下载
  • 2. 数据集处理
    • 2.1 训练集
    • 2.2 验证集
  • 3. 数据集加载

1. 数据集下载

数据集官网:https://www.image-net.org/challenges/LSVRC/index.php
目前实验一般都用ILSVRC 2012,下载需要用学生邮箱注册,之后能进到下载界面
https://image-net.org/challenges/LSVRC/2012/2012-downloads.php
在这里插入图片描述
如果是图像识别任务的话,下载这两个就可以了。
放上链接:
Training images (Task 1 & 2)
Validation images (all tasks)

正常下载的话应该是非常慢,而且由于数据集很大,容易中断,建议科学上网。
这里有个磁力链接,亲测可用:https://hyper.ai/datasets/4889

2. 数据集处理

已经下载了两个数据集,一个是训练集,一个是验证集,现在就要把这数据集整理成可以供模型直接加载的形式。

2.1 训练集

首先解压 ILSVRC2012_img_train.tar到train,里边包含1000个小的tar压缩包,每一个对应一类的图片(压缩包的名称就代表这一类,不要修改),所以再将他们都解压成文件夹就好了。

先解压
mkdir train
tar xvf ILSVRC2012_img_train.tar -C ./train

因为数量多,写个脚本 touch unzip.sh

#!/bin/bash
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

添加可执行权限,执行一下
chmod +x ./unzip.sh
./unzip.sh

由于压缩包ILSVRC2012_img_train.tar比较大,处理后可以删除了。可以直接把train.tar先移动到train中,再进行操作。

最终训练集形式:
在这里插入图片描述

2.2 验证集

验证集比较简单,只有50000张图片,直接解压 ILSVRC2012_img_val.tar就可以。但是为了后续的使用,也需要把这些图片分成1000类(创建1000个文件夹,把对应类的图片放进去,与训练集结构保持一致)。

先解压
mkdir val
tar xvf ILSVRC2012_img_val.tar -C ./val

分类的过程可以借助官网中给的development kit中的 data/ILSVRC2012_validation_ground_truth.txt 和 data/meta.mat 进行划分,但是需要自己写脚本,比较麻烦,所以这里用个现成的脚本,直接处理一下就行。

进入val,下载脚本,执行
cd val
wget -qO- https://raw.githubusercontent.com/soumith/imagenetloader.torch/master/valprep.sh
chmod +x ./valprep.sh
./valprep.sh
rm valprep.sh

最终验证集形式:
在这里插入图片描述

3. 数据集加载

数据集处理后格式:

-imagenet-train-val

使用pytorch进行数据集加载

封装数据加载模块

# data_loader.py
import os
import torch
import torchvision.transforms as transforms
import torchvision.datasets as datasetsdef data_loader(root, batch_size=256, workers=1, pin_memory=True):traindir = os.path.join(root, 'train')valdir = os.path.join(root, 'val')normalize = transforms.Normalize(mean=[0.485, 0.456, 0.406],std=[0.229, 0.224, 0.225])train_dataset = datasets.ImageFolder(traindir,transforms.Compose([transforms.RandomResizedCrop(224),transforms.RandomHorizontalFlip(),transforms.ToTensor(),normalize]))val_dataset = datasets.ImageFolder(valdir,transforms.Compose([transforms.Resize(256),transforms.CenterCrop(224),transforms.ToTensor(),normalize]))train_loader = torch.utils.data.DataLoader(train_dataset,batch_size=batch_size,shuffle=True,num_workers=workers,pin_memory=pin_memory,sampler=None)val_loader = torch.utils.data.DataLoader(val_dataset,batch_size=batch_size,shuffle=False,num_workers=workers,pin_memory=pin_memory)return train_loader, val_loader

主程序调用

# Data loading
from data_loader import data_loader	def main():...# args.data = './imagenet'train_loader, val_loader = data_loader(args.data, args.batch_size, args.workers, args.pin_memory)...

http://chatgpt.dhexx.cn/article/4TftoOLc.shtml

相关文章

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工具类。 以下工具类、方法按使用流行度排名,参考数据来源于…

Java程序员新手老手都离不开八大开发工具

1.Eclipse 尽管IntelliJ IDEA、NetBeans和一些其他的IDE正在日益普及,但是有调查表明,Eclipse仍然是几乎半数Java开发人员首选的开发环境。 Eclipse是IDE领域的瑞士军刀,有着大量定制的接口和无数的插件。它无处不在,后面本文将推…