作者:手机用户2502913925 | 来源:互联网 | 2023-10-13 10:05
小样本学习数据集最近由于实验室项目原因开始研究小样本学习(fewshotlearning),看了一些论文,发现里面常用的测试数据集主要有Omniglot和miniImagenet两
小样本学习数据集
最近由于实验室项目原因开始研究小样本学习(few shot learning),看了一些论文,发现里面常用的测试数据集主要有Omniglot和miniImagenet两个,但是网上能查到的下载地址都在谷歌网盘上,而且miniImagenet中还缺少标注数据的csv文件,经过一番搜寻终于搞定两个数据集,搬到国内网盘上,方便以后要用到。
下载地址
链接: https://pan.baidu.com/s/1npRhZajLrLe6-KtSbJsa1A 密码: ztp5
开始主要是跑MAML算法测试,发现github上cbfinn提供的代码https://github.com/cbfinn/maml.git中,处理数据的部分只适用于linux,在win下运行会出错,将proc_images.py中os.system改为对应的os操作即可。
直接贴修改后的代码
from __future__ import print_function
import csv
import glob
import os
from PIL import Image
path_to_images = 'images/'
all_images = glob.glob(path_to_images + '*')
# Resize images
for i, image_file in enumerate(all_images):
im = Image.open(image_file)
im = im.resize((84, 84), resample=Image.LANCZOS)
im.save(image_file)
if i % 500 == 0:
print(i)
# Put in correct directory
for datatype in ['train', 'val', 'test']:
os.mkdir(datatype)
with open(datatype + '.csv', 'r') as f:
reader = csv.reader(f, delimiter=',')
last_label = ''
for i, row in enumerate(reader):
if i == 0: # skip the headers
continue
label = row[1]
image_name = row[0]
if label != last_label:
cur_dir = datatype + '/' + label + '/'
os.mkdir(cur_dir)
last_label = label
os.rename('images/' + image_name, cur_dir+image_name)