【tensorflow 训练验证数据处理】制制作trian和val TXT的文件
开始训练模型之前,需要对收集的图片进行处理。那么第一步 就是制作trian和val TXT的文件。训练和测试的图片数据集 分别放在 train 和val 两个文件夹下。数据集,共有五类图片,分别是:flower、guitar、animal、houses和plane。有了图片数据集后,需要划分为train和val数据集,前者用于训练模型的数据,后者主要用于验证模型。这里提供一个create_l...
·
开始训练模型之前,需要对收集的图片进行处理。那么第一步 就是制作trian和val TXT的文件。
训练和测试的图片数据集 分别放在 train 和val 两个文件夹下。
数据集,共有五类图片,分别是:flower、guitar、animal、houses和plane。
有了图片数据集后,需要划分为train和val数据集,前者用于训练模型的数据,后者主要用于验证模型。这里提供一个create_labels_files.py脚本,可以直接生成训练train和验证val的数据集txt文件。
# -*-coding:utf-8-*-
import os
import os.path
def write_txt(content, filename, mode='w'):
"""保存txt数据
:param content:需要保存的数据,type->list
:param filename:文件名
:param mode:读写模式:'w' or 'a'
:return: void
"""
with open(filename, mode) as f:
for line in content:
str_line = ""
for col, data in enumerate(line):
if not col == len(line) - 1:
# 以空格作为分隔符
str_line = str_line + str(data) + " "
else:
# 每行最后一个数据用换行符“\n”
str_line = str_line + str(data) + "\n"
f.write(str_line)
def get_files_list(dir):
'''
实现遍历dir目录下,所有文件(包含子文件夹的文件)
:param dir:指定文件夹目录
:return:包含所有文件的列表->list
'''
# parent:父目录, filenames:该目录下所有文件夹,filenames:该目录下的文件名
files_list = []
for parent, dirnames, filenames in os.walk(dir):
for filename in filenames:
# print("parent is: " + parent)
# print("filename is: " + filename)
# print(os.path.join(parent, filename)) # 输出rootdir路径下所有文件(包含子文件)信息
curr_file = parent.split(os.sep)[-1]
if curr_file == 'flower':
labels = 0
elif curr_file == 'guitar':
labels = 1
elif curr_file == 'animal':
labels = 2
elif curr_file == 'houses':
labels = 3
elif curr_file == 'plane':
labels = 4
files_list.append([os.path.join(curr_file, filename), labels])
return files_list
if __name__ == '__main__':
train_dir = './dataset/train'
train_txt = './dataset/train.txt'
train_data = get_files_list(train_dir)
write_txt(train_data, train_txt, mode='w')
val_dir = './dataset/val'
val_txt = './dataset/val.txt'
val_data = get_files_list(val_dir)
write_txt(val_data, val_txt, mode='w')
注意,上面Python代码,已经定义每组图片对应的标签labels:
flower ->labels=0
guitar ->labels=1
animal ->labels=2
houses ->labels=3
plane ->labels=4
设置好路径,运行
python create_labels_files.py

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