将图像按7:3划分train和val

将图像按7:3划分train和val,第1张

问题:如何将原图按7:3划分train和val两个分类集呢?
代码:

# -*- coding:utf-8 -*-
#author :wu
# 将一个文件夹下图片按比例分在两个文件夹下,比例改0.7这个值即可
import os
import random
import shutil
from shutil import copy2
trainfiles = os.listdir('F:/dataset') #(图片文件夹)
num_train = len(trainfiles)
print( "num_train: " + str(num_train) )
index_list = list(range(num_train))
print(index_list)
random.shuffle(index_list)
num = 0
#trainDir = 'F:/dataset/train' #(将图片文件夹中的7份放在这个文件夹下)
trainDir = 'F:/train' #(将图片文件夹中的7份放在这个文件夹下)
if not os.path.exists(trainDir):
            os.makedirs(trainDir)
       
#validDir = 'F:/dataset/val'#(将图片文件夹中的3份放在这个文件夹下)
validDir = 'F:/val'#(将图片文件夹中的3份放在这个文件夹下)
if not os.path.exists(validDir):
            os.makedirs(validDir)
for i in index_list:
    fileName = os.path.join('F:/dataset', trainfiles[i])
    if num < num_train*0.7:
        print(str(fileName))
        copy2(fileName, trainDir)
    else:
        copy2(fileName, validDir)
    num += 1

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/942977.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-18
下一篇2022-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存