ILSVRC2012(ImageNet2012)数据集的下载及ILSVRC2012_img_val数据集的分类

ILSVRC2012(ImageNet2012)数据集的下载及ILSVRC2012_img_val数据集的分类

1.下载地址

ILSVR2012及其分类文件下载地址

train数据集过大(对个人电脑来说),我们用val数据集进行数据收集及训练,caffe文件存放着数据集的标签及一些数据的排布:

ILSVRC2012(ImageNet2012)数据集的下载及ILSVRC2012_img_val数据集的分类_第1张图片

下载好解压后是这个样子

caffe_ilsvrc12文件里是这个样子

ILSVRC2012(ImageNet2012)数据集的下载及ILSVRC2012_img_val数据集的分类_第2张图片

ILSVR2012_img_val文件里是这个样子

2、图片整理分类

此时的ILSVR2012_img_val文件里的图片是未分类好的(如上图),我们在ILSVR2012_img_val文件以及caffe_ilsvrc12文件同路径下用下面的的代码创建一个.py文件:
import os
import shutil
import tqdm

def openreadtxt(file_name):
    data = []
    file = open(file_name, 'r')  # 打开文件
    file_data = file.readlines()  # 读取所有行
    for row in file_data:
        tmp_list = row.split(' ')  # 按‘,’切分每行的数据

        tmp_list[-1] = tmp_list[-1].replace('\n',',') #去掉换行符
        data.append(tmp_list)  # 将每行数据插入data中
    return data



if __name__ == "__main__":
    data = openreadtxt('./caffe_ilsvrc12/val.txt')
    a = []
    b = []
    print(data)
    for i in range(len(data)):
        a.append(data[i][1])
    for i in range(len(a)):
        b.append(int(a[i].replace(',','')))
    print(len(b))


#给ILSVR2012_img_val数据集分类

    old_path = '.\ILSVR2012_img_val'
    new_path = '.\image'#分类好的图片文件夹所存放的位置,每一类图片存放到同一个文件夹中
    files = os.listdir(old_path)
    for i in tqdm.tqdm(range(len(files))):
        if (files[i][-4:] == 'JPEG'):
            old_file_path = old_path + '/' + files[i]
            new_file_path = new_path + '/' + str(b[i]) + '/' + files[i]
            new_file_path_class = new_path + '/' + str(b[i])

            if not os.path.exists(new_file_path_class):
                os.mkdir(new_file_path_class)
                shutil.copy(old_file_path, new_file_path)
            else:
                shutil.copy(old_file_path, new_file_path)

再在同路径创建一个存放分类好的图片的文件夹image如下图所示(classfy是我创建的.py文件):

ILSVRC2012(ImageNet2012)数据集的下载及ILSVRC2012_img_val数据集的分类_第3张图片

接下来就可以运行代码了(我用的pycharm):

ILSVRC2012(ImageNet2012)数据集的下载及ILSVRC2012_img_val数据集的分类_第4张图片

可以看到代码正在运行:

ILSVRC2012(ImageNet2012)数据集的下载及ILSVRC2012_img_val数据集的分类_第5张图片

运行完毕后分类成功,在image文件夹下可看到如下文件夹(每一类文件存到同一个文件夹中):

ILSVRC2012(ImageNet2012)数据集的下载及ILSVRC2012_img_val数据集的分类_第6张图片

且文件夹中是同一类图片:

分类完毕。

你可能感兴趣的:(分类,caffe,深度学习)