ImageNet 下载及预处理
utils
本文字数:423 字 | 阅读时长 ≈ 1 min

ImageNet 下载及预处理

utils
本文字数:423 字 | 阅读时长 ≈ 1 min

1. 数据集下载

进入官网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 的那个。然后等待下载即可

2. 数据集处理

下载完后我们有三个压缩文件,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 修复
4月 06, 2025
3月 10, 2025
12月 31, 2024