位置: IT常识 - 正文

linux下载/解压ImageNet-1k数据集(linux解压安装)

编辑:rootadmin
linux下载/解压ImageNet-1k数据集 文章目录前言一、数据集下载二、解压1.训练集2.验证集总结前言

推荐整理分享linux下载/解压ImageNet-1k数据集(linux解压安装),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux 解压zip.001,linux解压软件,linux 解压 xz,linux 解压 xz,linux 解压包,linux 解压 xz,linux解压软件包,linux解压软件包,内容如对您有帮助,希望把文章链接给更多的朋友!

本文在Linux中,处理对象为ILSVRC2012数据集(ImageNet-1k)

一、数据集下载

ImageNet官网链接

在Linux上也可以直接用命令行进行下载:

训练集(ILSVRC2012_img_train.tar):wget https://image-net.org/data/ILSVRC/2012/ILSVRC2012_img_train.tar --no-check-certificate验证集(ILSVRC2012_img_val.tar):wget https://image-net.org/data/ILSVRC/2012/ILSVRC2012_img_val.tar --no-check-certificate标签映射文件(ILSVRC2012_devkit_t12.tar.gz):wget https://image-net.org/data/ILSVRC/2012/ILSVRC2012_devkit_t12.tar.gz --no-check-certificate二、解压1.训练集

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

cd /home/data/imagenet

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

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 trainlinux下载/解压ImageNet-1k数据集(linux解压安装)

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

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

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

ls -lR|grep "^-"|wc -l2.验证集

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

cd /home/data/imagenet

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

mkdir val

执行命令,将验证集图像解压到 val 目录下:

tar xvf ILSVRC2012_img_val.tar -C ./val

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

tar -xzf ILSVRC2012_devkit_t12.tar.gz

该文件中记录着验证集中的图像名及其类别标签之间的映射关系。

在 ‘/home/data/imagenet’ 目录下创建 Python 脚本,假设命名为“unzip.py”,其内容如下:

from scipy import ioimport osimport shutildef 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()

回到imagenet下,执行该文件,进行验证集分类存放进1000个文件夹:

cd /home/data/imagenetpython unzip.py总结

这样就成功啦!!

本文链接地址:https://www.jiuchutong.com/zhishi/283569.html 转载请保留说明!

上一篇:电脑桌面上的图标不见了解决方法(电脑桌面上的图片怎么打印)

下一篇:pcclient.exe是什么进程 pcclient进程查询(pc应用是什么意思)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络