5折交叉数据划分

import glob
xml_paths = glob.glob('/home/yons/data/kedaxunfei/x-ray/coco-format/xmls/*.xml')
from random import shuffle
from myutils.transvert import xml2coco

shuffle(xml_paths)
total_number = len(xml_paths)
index = list(range(total_number))

class_names = ['knife', 'scissors', 'lighter', 'zippooil', 'pressure', 'slingshot', 'handcuffs', 'nailpolish', 'powerbank', 'firecrackers']
for fold in range(5):
    val_index = index[total_number*fold//5:total_number*(fold+1)//5]
    train_index = list(set(index) - set(val_index))
    json_path = '/home/yons/data/kedaxunfei/x-ray/coco-format/fold{}/instances_train2017.json'.format(fold)
    xml2coco([xml_paths[i] for i in train_index], json_path, class_names)
    json_path = '/home/yons/data/kedaxunfei/x-ray/coco-format/fold{}/instances_val2017.json'.format(fold)
    xml2coco([xml_paths[i] for i in val_index], json_path, class_names)

代码还算清楚,中间的

    val_index = index[total_number*fold//5:total_number*(fold+1)//5]
    train_index = list(set(index) - set(val_index))

比较巧妙

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容