ImageNet数据集下载及整理

本文处理对象为 ILSVRC2012 分类数据集。(转至西北小生)

一、下载:
首先进入ImageNet 官网:

ImageNet 官网链接

用学生邮箱注册并登录后才能免费下载,因此如果没有注册的话,需要首先用学生邮箱注册账户。

这里需要注意的是:

  • 不翻墙的话会导致注册失败!!!

PS:可能有人因为想找迅雷下载链接而点进了这篇帖子,为了避免你们空手离开,我就贴一个下载链接吧,如果有用的话就麻烦点个赞和关注吧~
训练集迅雷种子文件:提取码:46aw
验证集百度云:提取码:7bt4
标签映射文件百度云:提取码:axte

如果是在autodl上训练,服务器自带ImageNet数据集

下载以下3个文件即可:

ILSVRC2012_img_train.tar
ILSVRC2012_img_val.tar
ILSVRC2012_devkit_t12.tar.gz

二、解压:

假设3个文件所在目录为:

/home/data/imagenet

1.解压训练集:

执行命令:

cd /home/data/imagenet

进入该文件目录下。执行命令:

mkdir train && tar -xvf ILSVRC2012_img_train.tar -C train && for x in `ls train/*tar`; do fn=train/`basename $x .tar`; mkdir $fn; tar -xvf $x -C $fn; rm -f $fn.tar; done

将训练集解压到文件夹 train 目录下。执行命令:

cd train

进入 train 目录下。执行命令:

ls -lR|grep "^d"|wc -l

查看该目录下的文件夹数量,若解压成功,则返回1000。执行命令:

ls -lR|grep "^-"|wc -l

查看 train 目录下所有文件(图片)的数量,若解压成功,则返回1281167。

2.解压验证集:

执行命令:

cd /home/data/imagenet

进入3个文件所在的根目录。执行命令:

mkdir val

创建解压验证集的文件夹。执行命令:

tar xvf ILSVRC2012_img_val.tar -C ./val

将验证集图像解压到 val 目录下。此时 val 目录下是50000张图像,并没有被分类到1000个文件夹下。因此需要将验证集中的图像进行分类存放。
执行命令:

tar -xzf ILSVRC2012_devkit_t12.tar.gz

解压下载的第3个文件,该文件中记录着验证集中的图像名及其类别标签之间的映射关系。
在 '/home/data/imagenet' 目录下创建 Python 脚本,假设命名为“unzip.py”,其内容如下:

from scipy import io
import os
import shutil

def move_valimg(val_dir='./val', devkit_dir='./ILSVRC2012_devkit_t12'):
    """
    move valimg to correspongding folders.
    val_id(start from 1) -> ILSVRC_ID(start from 1) -> WIND
    organize like:
    /val
       /n01440764
           images
       /n01443537
           images
        .....
    """
    # load synset, val ground truth and val images list
    synset = 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 -> WIND
        val_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 images
        output_dir = os.path.join(root, WIND)
        if os.path.isdir(output_dir):
            pass
        else:
            os.mkdir(output_dir)
        shutil.move(os.path.join(root, filename), os.path.join(output_dir, filename))

if __name__ == '__main__':
    move_valimg()

运行该脚本后,验证集就处理成功了。



 



 

### 回答1: ImageNet是一个公开的大规模图像数据集,用于训练和评估图像分类算法。每年,ImageNet会举办一个挑战,吸引许多研究者参与,训练出能够分类ImageNet数据集中超过1000个类别的深度学习模型。 如果你想要下载ImageNet 2017数据集,首先需要在ImageNet网站上注册一个账号。注册成功之后,可以在网站上找到下载链接。 ImageNet 2017数据集总共包含150万张图像,分为训练集、验证集和测试集。其中,训练集包含120万张图像,验证集包含50000张图像,测试集包含50000张图像。每张图像都被分配了一个唯一的标签,表示该图像属于哪一类别。 由于ImageNet数据集较大,因此下载可能需要一段时间。你需要有足够的存储空间来存储数据集,通常需要几百G的空间。如果你使用的是深度学习框架(如TensorFlow、PyTorch等),可以使用相应的API来方便地加载和使用ImageNet数据集。 ### 回答2: Imagenet2017是一个非常庞大的图像数据集,包含了超过14百万个带有标签的图像,这些图像涵盖了超过2万个类别。下载Imagenet2017需要使用到高速网络,并且需要使用到一些工具,例如wget或者curl,因为Imagenet2017总体大小超过了一百多个GB,因此下载的时间可能会非常长。 首先,您需要进入Imagenet官网(http://www.image-net.org/),注册一个账号并且申请下载权限。 登录进入数据下载页面(http://www.image-net.org/download)。在这个页面上,您可以找到Imagenet2017数据集,点击下载链接。数据集被拆分为多个文件,每个文件的大小变化。因此,您需要在下载的时候选择合适的文件进行下载。可以使用wget命令,例如: wget -c http://www.image-net.org/challenges/LSVRC/2017/.../1.tar 其中“1.tar”可以更改为其他文件名。这个命令用于在中断下载的情况下恢复下载,防止因为网络不稳定导致重复下载下载完成后,您需要解压文件。可以使用unzip命令或者tar命令,例如: tar -xvf 1.tar 这个命令将tar文件解压到当前目录下的1文件夹中。 最后,您需要在PyTorch等框架中引用Imagenet2017数据集。可以使用torchvision.datasets.ImageNet加载数据集。例如: from torchvision.datasets import ImageNet train_data = ImageNet(root='/path/to/imagenet2017/', split='train', transform=transforms.ToTensor()) 这个命令用于将Imagenet2017数据集的训练集加载到内存中,并且将图像转换为tensor类型。 综上所述,下载Imagenet2017需要经过一系列的步骤,包括获取下载权限、选择合适的文件进行下载、解压文件以及在框架中引用数据集等步骤。 ### 回答3: ImageNet是一个广泛使用的基准数据集,用于衡量计算机视觉和机器学习算法的性能。ImageNet2017是 ImageNet数据集的最新版本。该数据集包含超过1400万张有标记图片,以及超过21000个类别。这使得它成为构建和训练基于深度学习的视觉识别算法的非常重要的工具。 为了从ImageNet2017中下载图片数据,首先需要到 ImageNet官方网站注册成为会员,获得一个开发者的许可证。之后,在ImageNet的下载页面上,可以选择下载不同的训练集和验证集数据,包括原始图像、预处理的数据和标签。下载过程需要使用wget命令,该命令能够快速有效地下载大文件和文件夹。同时,需要注意ImageNet数据集的文件比较大,对于下载速度和存储空间有较高的要求。 总之,ImageNet2017是用于开发和训练计算机视觉算法的重要基准数据集下载ImageNet2017需要注册成为会员,然后下载具体的训练和验证数据。在下载过程中需要注意下载速度和存储空间的问题。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值