import os import random # 如何写一个属于自己的数据集,读取大数据集 或者你自己的数据集 # 就需要生成一个text文件 train val .text def main(): random.seed(0) # 设置随机种子,保证随机结果可复现 files_path = "./VOCdevkit/VOC2012/Annotations" # 给定一个文件路径 assert os.path.exists(files_path), "path: '{}' does not exist.".format(files_path) # 判断一下根目录是否存在 # if not os.path.exists(files_path): # print("文件夹不存在") # exit(1) val_rate = 0.5 # 定义验证集的比例 # 通过点.进行分割,进行排序 [0] 只取文件名 files_name = sorted([file.split(".")[0] for file in os.listdir(files_path)]) files_num = len(files_name) # len 拿到所有文件的数量 val_index = random.sample(range(0, files_num), k=int(files_num*val_rate)) # 在建立两个空列表 train_files = [] val_files = [] for index, file_name in enumerate(files_name): if index in val_index: val_files.append(file_name) # 如果在val的范围里面,就放到val中 else: train_files.append(file_name) try: # 建立两个TXT文件 train_f = open("train.txt", "x") eval_f = open("val.txt", "x") # 通过一个换行符再通过.joint的方法将list列表拼接成一个字符 train_f.write("\n".join(train_files)) eval_f.write("\n".join(val_files)) except FileExistsError as e: print(e) exit(1) if __name__ == '__main__': main()
import os
import random
# 如何写一个属于自己的数据集,读取大数据集 或者你自己的数据集
# 就需要生成一个text文件 train val .text
def main():
random.seed(0) # 设置随机种子,保证随机结果可复现
files_path = "./VOCdevkit/VOC2012/Annotations" # 给定一个文件路径
assert os.path.exists(files_path), "path: '{}' does not exist.".format(files_path)
# 判断一下根目录是否存在
# if not os.path.exists(files_path):
# print("文件夹不存在")
# exit(1)
val_rate = 0.5 # 定义验证集的比例
# 通过点.进行分割,进行排序 [0] 只取文件名
files_name = sorted([file.split(".")[0] for file in os.listdir(files_path)])
files_num = len(files_name)
# len 拿到所有文件的数量
val_index = random.sample(range(0, files_num), k=int(files_num*val_rate))
# 在建立两个空列表
train_files = []
val_files = []
for index, file_name in enumerate(files_name):
if index in val_index:
val_files.append(file_name) # 如果在val的范围里面,就放到val中
else:
train_files.append(file_name)
try:
# 建立两个TXT文件
train_f = open("train.txt", "x")
eval_f = open("val.txt", "x")
# 通过一个换行符再通过.joint的方法将list列表拼接成一个字符
train_f.write("\n".join(train_files))
eval_f.write("\n".join(val_files))
except FileExistsError as e:
print(e)
exit(1)
if __name__ == '__main__':
main()