ILSVRC2012(ImageNet2012)数据集的下载及ILSVRC2012_img_val数据集的分类
·
ILSVRC2012(ImageNet2012)数据集的下载及ILSVRC2012_img_val数据集的分类
1.下载地址
train数据集过大(对个人电脑来说),我们用val数据集进行数据收集及训练,caffe文件存放着数据集的标签及一些数据的排布:

下载好解压后是这个样子

caffe_ilsvrc12文件里是这个样子

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文件):

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

可以看到代码正在运行:

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

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

分类完毕。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)