• 大小: 4KB
    文件类型: .py
    金币: 1
    下载: 0 次
    发布日期: 2021-06-14
  • 语言: Python
  • 标签: python  xml  

资源简介

完整的generate_train_val_test_txt.py程序,将路径换为自己的即可,如果出现问题无法解决,建议直接在ai studio中运行。

资源截图

代码片段和文件信息

import os
import random
import xml.dom.minidom
VOC_CLASSES = [‘green‘ ‘red‘]
 
def generate_train_val_test_txt():
    xml_file_path = “H:/smartcar/VOCdevkit/VOC2007/Annotations“  # xml文件路径
    save_Path = “H:/smartcar/VOCdevkit/VOC2007/ImageSets/Main“
    ############################################3
    trainval_percent = 0.9
    train_percent = 0.9
    total_xml = os.listdir(xml_file_path) # 得到文件夹下所有文件名称
    num = len(total_xml)
    list = range(num)
    tv = int(num * trainval_percent)
    tr = int(tv * train_percent)
    trainval = random.sample(list tv)
    train = random.sample(trainval tr)
    print(“train and val size“ tv)
    print(“train size“ tr)
    ##############################################################
    “““
    将信息写入test.txt、train.txt、val.txt、trainval.txt
    “““
    ftrainval = open(os.path.join(save_Path‘trainval.txt‘) ‘w‘)
    ftest = open(os.path.join(save_Path ‘test.txt‘) ‘w‘)
    ftrain = open(os.path.join(save_Path ‘train.txt‘) ‘w‘)
    fval = open(os.path.join(save_Path ‘val.txt‘) ‘w‘)
    for i in list:                             # 第i个xml文件
        xml_name = total_xml[i][:-4]
        if i in trainval:
            ftrainval.write(xml_name + “\n“)
            if i in train:
                ftrain.write(xml_name + “\n“)
            else:
                fval.write(xml_name + “\n“)
        else:
            ftest.write(xml_name + “\n“)
    ftrainval.close()
    ftrain.close()
    fval.close()
    ftest.close()
    ######################################################################
    “““
     将信息写入(class_name)_test.txt、(class_name)_train.txt、(class_name)_val.txt、(class_name)_trainval.txt
     “““
    for idx in range(len(VOC_CLASSES)): #每一个类单独处理
        class_name = VOC_CLASSES[idx]
        # 创建txt
        class_trainval = open(os.path.join(save_Path str(class_name) + ‘_trainval.txt‘) ‘w‘)
   

评论

共有 条评论