1.数据组织格式:
源数据组织格式:

新数据组织格式:

2.代码实现:
# 深度学习过程中,需要制作训练集和验证集、测试集。
import os
import random
import shutil
def moveFile(fileDir, tarDir):
categorys = os.listdir(fileDir) # 所有类别
# print("categorys:{}".format(categorys))
for category in categorys:
# print("category:{}".format(category))
path_NewCategory = os.path.join(tarDir, category) # 新文件夹(类别)路径
os.mkdir(path_NewCategory)
path_OldCategory = os.path.join(fileDir, category) # 老文件夹(类别)路径
imgs = os.listdir(path_OldCategory) # 类别下所有的图像
imgNumber = len(imgs)
rate = 0.5 # 自定义抽取图片的比例,比方说100张抽10张,那就是0.1
picknumber = int(imgNumber*rate) # 按照rate比例从文件夹中取一定数量图片
sample = random.sample(imgs, picknumber) # 随机选取picknumber数量的样本图片
# print(sample)
for name in sample:
# shutil.copy(os.path.join(path_OldCategory, name), os.path.join(path_NewCategory, name))
shutil.move(os.path.join(path_OldCategory, name), os.path.join(path_NewCategory, name))
if __name__ == '__main__':
fileDir = r'E:\***\***\***\data\images' # 源图片文件夹路径
tarDir = r'E:\***\***\***\data\train' # 移动到新的文件夹路径
moveFile(fileDir, tarDir)
370

被折叠的 条评论
为什么被折叠?



