python 数据集划分:train :val

这段代码演示了如何使用Python将带有标签的图像数据集按指定比例(例如9:1)划分为训练集和验证集。通过遍历图片文件夹,随机选择一部分图片及其对应的标签文件复制到新的文件夹中,完成数据集的划分,并从原始文件夹中删除已移动的文件。
摘要由CSDN通过智能技术生成

python 数据集划分:train :val

本代码将带有标签值的图片数据集,划分为可以调节比例大小的 train :val

#  @@@@@@@@  划分数据集
import os
import cv2 as cv
import xml.etree.ElementTree as ET
import random
import shutil
imgs_path = r'./  /'      # 原来的图片集,
xml_path = r'./  /'       # 原来的标签值
imgnew_path = r'./  /'  #  生成的图片集,看做train数据集
xmlnew_path = r'./  /' #   生成的标签值,看做val数据集

imgs_list = []

imgs_list = os.listdir(imgs_path)    # 遍历整个图片文件夹
print(imgs_list)

m = len(imgs_list) // 10          #@@@@@@@@@@  这里设置 划分的比例,乘 1 表示 9:1 划分
n = m * 1

list = []
for i in range(0, n):
    rdom_name = random.sample(imgs_list, 1)     # @@@ 随机 从图片名字列表中提取一个 图片的名字
    print(rdom_name)
    a, b = rdom_name[0].split('.')
    xml_name = [a + '.xml']                     ## @@@ 提取和图片名字相同的 标签的名字
    print(xml_name)
    
    shutil.copy( os.path.join(imgs_path, rdom_name[0]), imgnew_path)   # 从原来的文件夹中提取图片,保存到新的文件夹中
    shutil.copy( os.path.join(xml_path, xml_name[0]), xmlnew_path)     # 从原来的文件夹中提取标签,保存到新的文件夹中
    
    os.remove(imgs_path+rdom_name[0])   #并删除原有文件
    os.remove(xml_path+xml_name[0])
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值