-
前言
最近在配OpenLongTailRecognition-OLTR
代码用的ImageNet_2014,因为数据集较大的原因,导致下载和数据集配置一直被耽误,进度很满,故此记录,以背不时只用。 -
进入imageNet主页
注: 需要注册账号,教育邮箱即可 -
点击
download
-
点击
2014
3.1 image
部分包括DET dataset
和 CLS-LOC dataset
(见后面)
3.2 Bounding Boxes
部分如下
-
继续3.1部分,下载
ILSVRC2012
作为ILSVRC2014
的CLS-LOC dataset
-
下载后的目录结构
(simdeblur) xiu@xiu:~/Learning/datasets/ImageNet_2014/ILSVRC2014$ tree
.
├── Bounding Boxes
│ ├── CLS-LOC_dataset
│ │ ├── ILSVRC2012_bbox_train_v2.tar.gz
│ │ └── ILSVRC2012_bbox_val_v3.tgz
│ └── DET_dataset
│ ├── ILSVRC2013_DET_bbox_val.tgz
│ └── ILSVRC2014_DET_bbox_train.tgz
└── Images
├── CLS-LOC_dataset
│ └── ILSVRC2012
│ ├── Bounding Boxes
│ │ ├── ILSVRC2012_bbox_test_dogs.zip
│ │ ├── ILSVRC2012_bbox_train_dogs.tar.gz
│ │ ├── ILSVRC2012_bbox_train_v2.tar.gz
│ │ └── ILSVRC2012_bbox_val_v3.tgz
│ └── Images
│ ├── ILSVRC2012_img_test_v10102019.tar
│ ├── ILSVRC2012_img_train_t3.tar
│ ├── ILSVRC2012_img_train.tar
│ └── ILSVRC2012_img_val.tar
└── DET_dataset
├── ILSVRC2013_DET_test.tar
├── ILSVRC2013_DET_val.tar
└── ILSVRC2014_DET_train.tar
- 解压
cd /home/xiu/Learning/datasets/ImageNet_2014
mkdir train && mkdir test && mkdir val
# 1. 解压 ILSVRC2014-Images-DET_dataset 的外部目录并移动数据
cd /home/xiu/Learning/datasets/ImageNet_2014/ILSVRC2014/Images/DET_dataset
# 训练集
tar -xf ILSVRC2014_DET_train.tar
mv -v ./ILSVRC2014_DET_train/* /home/xiu/Learning/datasets/ImageNet_2014/train
rmdir ./ILSVRC2014_DET_train
# 验证集
tar -xf ILSVRC2013_DET_val.tar
mv -v ./ILSVRC2013_DET_val/* /home/xiu/Learning/datasets/ImageNet_2014/val
rmdir ./ILSVRC2013_DET_val
# 测试集
tar -xf ILSVRC2013_DET_test.tar
# mv ./ILSVRC2013_DET_test/* /home/xiu/Learning/datasets/ImageNet_2014/test, 报错: bash: /usr/bin/mv: 参数列表过长, 这是由于该文件夹下全是图片,文件数量太多
bash mv.bash
# mv.bash 内容如下 -------------------------------------------------
#!/bin/bash
i=0
for file in ./ILSVRC2013_DET_test/*; do
((i++)) && ((i % 1000 == 0)) && echo "Batch $i"
mv -v "$file" /home/xiu/Learning/datasets/ImageNet_2014/test
done
# -----------------------------------------------------------------
rmdir ./ILSVRC2013_DET_test
# 2. 解压 ILSVRC2014-Images-DET_dataset 的内部目录
# 准备一个 untar.bash, 在/home/xiu/Learning/datasets/ImageNet_2014目录下
# untar.bash 内容如下 -----------------------------------------------
#!/bin/bash
for file in *.tar; do
tar -xf "$file"
done
# -----------------------------------------------------------------
# train里面全部都是压缩包
cd /home/xiu/Learning/datasets/ImageNet_2014/train
cp ../untar.bash ./
bash untar.bash
rm -v ./*.tar # 删除当前目录下的所有包括".tar"文件
# 3. 解压 ILSVRC2014-Images-CLS-LOC_dataset 的外部目录并移动数据
cd /home/xiu/Learning/datasets/ImageNet_2014/ILSVRC2014/Images/CLS-LOC_dataset/ILSVRC2012/Images
# 训练集
tar -xf ILSVRC2012_img_train.tar -C /home/xiu/Learning/datasets/ImageNet_2014/train
tar -xf ILSVRC2012_img_train_t3.tar -C /home/xiu/Learning/datasets/ImageNet_2014/train
# 验证集
tar -xf ILSVRC2012_img_val.tar -C /home/xiu/Learning/datasets/ImageNet_2014/val
# 测试集
tar -xf ILSVRC2012_img_test_v10102019.tar
# mv -v ./test/* /home/xiu/Learning/datasets/ImageNet_2014/test, 报错: bash: /usr/bin/mv: 参数列表过长, 这是由于该文件夹下全是图片,文件数量太多
bash mv.bash
# mv.bash 内容如下 -------------------------------------------------
#!/bin/bash
i=0
for file in ./test/*; do
((i++)) && ((i % 1000 == 0)) && echo "Batch $i"
mv -v "$file" /home/xiu/Learning/datasets/ImageNet_2014/test
done
# -----------------------------------------------------------------
rmdir ./test
# 4. 解压ILSVRC2014-Images-CLS-LOC_dataset 的内部目录
# 准备一个 untar2.bash, 在/home/xiu/Learning/datasets/ImageNet_2014目录下
# untar2.bash 内容如下 -----------------------------------------------
#!/bin/bash
for file in *.tar; do
# 提取不带扩展名的文件名
dir_name=$(basename "$file" .tar)
# 如果目录不存在,则创建一个新目录
if [ ! -d "$dir_name" ]; then
mkdir "$dir_name"
fi
# 解压文件到新目录中
tar -xf "$file" -C "$dir_name"
done
# -----------------------------------------------------------------
# train里面全部都是压缩包
cd /home/xiu/Learning/datasets/ImageNet_2014/train
cp ../untar2.bash ./
bash untar2.bash
rm -v ./*.tar # 删除当前目录下的所有包括".tar"文件, 注意"2. 解压 ILSVRC2014-Images-DET_dataset 的内部目录"的最后一步不要忘了执行