分类数据集划分训练级和验证级的script

该博客介绍了如何创建train和val文件夹,根据数据集类别创建子文件夹,并按照一定比例划分训练集和验证集。通过随机抽样确定验证集图片,遍历所有图片并将其复制到相应集合的类别文件夹中。
摘要由CSDN通过智能技术生成

思路:

  1. 在特定路径下创建train,val的文件夹
  2. 用列表放数据集下种类的名称
  3. 根据上面的列表,分别在train和val路径下创建class类别名称的文件夹
  4. 划分数据集比例:计算特定类别class的数据集图片数量,采用random.samples抽取出验证集的图片名称,这些名称是以列表保存的
  5. 遍历每一张图片,并判断是否在验证集的列表名称中,如果是,则复制copy到验证级特定种类的路径下,否则就复制到训练集特定种类的路径下
import os
from shutil import copy
import random
### 该脚本与file_path同级
file_path = 'flower_data'   # 文件路径
data_path = 'flower_data/flower_photos'  # 数据路径

def mkfile(file_dir):
    if not os.path.exists(file_dir):
        os.mkdir(file_dir)
        return file_dir

file = 'flower_data/flower_photos'
# 获取数据集上每个种类的名字
flow_class = [cla for cla in os.listdir(data_path) if '.txt' not in cla]

# 在flower_data创建train文件夹
train_dir = mkfile(file_path+ '/' +"train")
# 在train文件夹下创建每一个种类的文件夹
for cla in flow_class:
    mkfile(train_dir + 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值