数据集下载

进入官网https://www.image-net.org/,点击Download(注意ImageNet的下载是需要注册的,这里自行注册即可)。我们要下载的ImageNet其实都是12年的版本,在下面找到ImageNet Large-scale Visual Recognition Challenge (ILSVRC)点击2012进入下载

当时用来比赛的ImageNet是用来做多个任务的,但是我们预训练只需要分类的那个任务,所以找到下面的Images,训练集找到138GB的那个(task1 & 2),验证集是6.3GB的那个,测试集是13GB的那个。然后等待下载即可

数据集处理

下载完后我们有三个压缩文件,ImageNet有1000个类别,我们最后要处理成什么形式呢。就是下面这种train,val然后训练和验证集里面都有100类的文件夹形式

#  imagenet/train/
#  ├── n01440764
#  │   ├── n01440764_10026.JPEG
#  │   ├── n01440764_10027.JPEG
#  │   ├── ......
#  ├── ......
#  imagenet/val/
#  ├── n01440764
#  │   ├── ILSVRC2012_val_00000293.JPEG
#  │   ├── ILSVRC2012_val_00002138.JPEG
#  │   ├── ......
#  ├── ......

这个pytorch已经有shell脚本可以自动处理了
按照说明运行即可extract_ILSVRC.sh

这里处理的时候遇到一个问题,服务器没法上网,所以其中的62行wget那个命令无法使用,这里我直接在本地新建了一个sh文件,然后把对应链接的内容复制进去了,然后传到服务器val文件夹下,运行bash xx.sh即可

注意: 如果实在win下写的sh文件在linux上是无法直接运行的,会报这样一个错误line 2: $‘\r’: command not found。这是因为win写脚本时每一行后面会加\r\n,而linux是\n

解决

  1. sed -i ‘s/\r//’ test.sh
  2. sudo apt install dos2unix,运行dos2unix xx.sh修复
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐