有时会将数据集随机提取一部分进行训练。
以下的代码不仅可以将文件夹内的文件随机分为两份,也可以随机分为不同的文件夹,文件夹内的文件也可以不同。
import os
import numpy as np
import shutil
#from sklearn.utils import shuffle
rootdir = '' #源数据集图像的文件夹的路径
rootdir1 = '' #源数据集标签的文件夹的路径
a = os.listdir(rootdir)
np.random.shuffle(a) #将数据集打乱顺序
d = int(len(a)/2) #将数据集分为两部分,在这里可以根据自己的需要修改
b = a[:d] #数据集的前半部分
c = a[d:] #数据集的后半部分
os.mkdir(os.path.join('')) #新建文件夹以保存随机数据集
os.mkdir(os.path.join('')) #新建文件夹以保存随机数据集的图片部分
os.mkdir(os.path.join('')) #新建文件夹以保存随机数据集的标签部分
os.mkdir(os.path.join('')) #新建文件夹以保存随机数据集
os.mkdir(os.path.join('')) #新建文件夹以保存随机数据集的图片部分
os.mkdir(os.path.join('')) #新建文件夹以保存随机数据集的标签部分
for i in b:
tragetpic_dir_1 = os.path.join('', i) #随机数据集的图像的路径
targetlab_dir_1 = os.path.join('', i) #随机数据集的标签的路径
oripi