怎么使用tfrecords制作数据集?
第一步:如下面的代码,class_names_to_ids 里面的key是/home/user/Documents/dataset/下面的文件夹,每一类放一个文件夹
#下面的代码是为了生成list.txt , 把不同文件夹下的图片和 数字label对应起来
import os
class_names_to_ids = {'bookrack': 0, 'cleaner': 1, 'fan': 2, 'lamp': 3, 'microwave': 4, 'pan': 5, 'piano': 6, 'soft': 7}
# classes = {'bookrack' ,'cleaner', 'fan', 'lamp', 'microwave', 'pan', 'piano', 'soft'}
data_dir = '/home/user/Documents/dataset/'
output_path = 'list.txt'
fd = open(output_path, 'w')
for class_name in class_names_to_ids.keys():
images_list = os.listdir(data_dir + class_name)
for image_name in images_list:
fd.write('{}/{} {}\n'.format(class_name, image_name, class_names_to_ids[class_name]))
fd.close()
第二步:生成验证集和训练集的个数,从第一步的txt文件中读取数据,随机打乱
#随机生成训练集和验证集(在总量中随机选取_NUM_VALIDATION 个样本作为验证集)
import random
_NUM_VALIDATION = 1100
_RANDOM_SEED = 0
list_path = 'list.txt'
train_list_path = 'list_train.txt'
val_list_path = 'list_val.txt'
fd = open(list_path)