【Mac 系统下载 & 解压 ImageNet-1k(ILSVRC2012、IN1K)数据集】

Mac 系统下载 & 解压 ImageNet-1k(ILSVRC2012、IN1K)数据集

1.下载方式

- 方式1
  • 直接在ImageNet-1k官网进行下载,但是需要使用.edu学校的邮箱注册账号才可以,比较麻烦。
  • 训练集
    • 下载地址:http://www.imagenet.org/challenges/LSVRC/2012/dd31405981ef5f776aa17412e1f0c112/ILSVRC2012_img_train.tar
      
  • 验证集
    • 下载地址:http://www.image-net.org/challenges/LSVRC/2012/dd31405981ef5f776aa17412e1f0c112/ILSVRC2012_img_val.tar
      
- 方式2
  • 直接使用迅雷种子下载,train大概需要8-10小时,val大概需要1小时左右。

  • 训练集

    • 种子: http://academictorrents.com/download/a306397ccf9c2ead27155983c254227c0fd938e2.torrent
      
  • 验证集

    • 种子: http://academictorrents.com/download/5d6d0df7ed81efd49ca99ea4737e0ae5e3a5f2e5.torren
      
  • 下载好之后,使用下述指令进行数据校验,大概需要5-10分钟左右。

    md5sum ILSVRC2012_img_val.tar ILSVRC2012_img_train.tar
    ## 如果数据没问题,应该输出下述:
    29b22e2961454d5413ddabcf34fc5622 ILSVRC2012_img_val.tar
    1d675b47d978889d74fa0da5fadfb00e ILSVRC2012_img_train.tar
    

2.解压方式

- 训练集train
  • 将ILSVRC2012_img_train.tar解压,1000个类别的*.tar包

  • 大概有150G左右,提前准备好内存空间

  • 使用下述指令即可

    mkdir train  
    tar -xvf ILSVRC2012_img_train.tar -C train
    
  • 使用下述脚本,将训练集的1000个.tar包解压缩,并删除源.tar包

    import glob 
    import os 
    
    filelist = glob.glob('./train/*.tar') 
    
    for f in filelist: 
    	os.system("mkdir ./train/" + os.path.split(f)[-1].split('.')[0])
    
    for f in filelist:
    	os.system("tar -xvf " + f + " -C ./train/" + os.path.split(f)[-1].split('.')[0])
    	
    for f in filelist:
    	os.system("rm ./train/" + os.path.split(f)[-1])
    
  • 使用下列指令,进行验证

    cd train
    ls -lR|grep "^d"|wc -l. ## 解压成功的话,应该输出 1000
    ls -lR|grep "^-"|wc -l ## 解压成功的话,应该输出 1281167
    

    在这里插入图片描述

- 验证集val
  • 将ILSVRC2012_img_val.tar解压

  • 使用下述指令即可

    mkdir val
    tar xvf ILSVRC2012_img_val.tar -C ./val
    
  • 此时 val 目录下是50000张图像,并没有被分类到1000个文件夹下。因此需要将验证集中的图像进行分类存放。执行命令,解压ILSVRC2012_devkit_t12.tar.gz这个文件:

    tar -xzf ILSVRC2012_devkit_t12.tar.gz
    
  • 最后,使用下述脚本,将验证集的1000个.tar包解压缩,并删除源.tar包

    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()
    
    

3.总结

  • 完成上述操作后,就成功解压。
  • 可能会遇到如下所示的,基本上都是因为内存不够导致的。
    请添加图片描述
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Imagenet-1k是一个常用的大规模图片数据集,其中包含来自1000个类别的超过一百万张高分辨率图片。如果你想要下载Imagenet-1k数据集,可以按照以下步骤进行: 1. 获得授权:首先,你需要获得相应的授权才能下载Imagenet-1k数据集。你可以访问Imagenet的官方网站并申请一个账号,然后根据指导完成授权过程。 2. 下载工具:一旦获得授权,可以下载相应的数据集下载工具,例如ImageNet Downloader或ImageNet Download.py。可以在GitHub等网站上找到这些工具的开源代码。 3. 安装工具:根据下载工具的说明,将其安装到你的计算机上。这通常需要一些命令行操作和软件依赖项的安装。 4. 数据集下载:完成工具的安装后,你可以使用命令行界面启动工具,并输入相应的命令来下载Imagenet-1k数据集。根据数据集的大小和你的网络连接速度,下载过程可能需要一些时间。 5. 解压数据:一旦下载完成,你将得到一个压缩文件,包含所有的Imagenet-1k图片。使用压缩软件将其解压到你选择的目录中。 6. 准备数据:解压后,你可以按照你的需求进行数据的处理和准备。这可能涉及到对图片进行预处理、划分数据集、生成标签等操作。 总之,下载Imagenet-1k数据集需要申请授权、下载相应的工具、安装工具、使用工具下载数据集解压数据集,最后进行数据的处理和准备。这些步骤需要一些技术知识和时间,但是下载完整的Imagenet-1k数据集可以为你的研究和实验提供丰富的图像数据资源。 ### 回答2: 要下载Imagenet-1k数据集,可以按照以下步骤进行操作。 1. 获取数据集访问权限:Imagenet是一个庞大的图像数据库,用于图像识别和分类任务。首先,你需要申请访问权限。访问Imagenet官方网站,并填写相关的表格并提交申请。 2. 设置开发环境:你需要确保你的计算机上已安装Python等必要的开发环境。Python是一种流行的编程语言,用于获取和处理数据。你还需要安装TensorFlow或者PyTorch等深度学习框架,以便进行图像处理和训练模型。 3. 使用API下载数据集:一旦你收到了访问权限,你可以使用Imagenet提供的API下载数据集。这个API可以让你通过命令行或者Python代码来下载特定类别的图像数据。 4. 解压和处理数据:一旦下载完成,你需要解压数据集文件。然后你可以使用Python代码来处理和准备数据,以便用于模型训练。这可能包括图像预处理、数据拆分和标签处理等步骤。 5. 开始训练模型:一旦你准备好了数据,你可以使用深度学习框架来训练模型。你可以选择使用预训练模型作为基础,也可以从头开始训练一个新的模型。 总之,下载Imagenet-1k数据集需要先申请访问权限,然后使用API下载解压数据集。接下来,你可以使用Python代码和深度学习框架来处理数据和训练模型。这是进行图像识别和分类研究所必需的数据集之一。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值