将数据集分为训练集和验证集存放在新的文件夹中

import os
import random
from PIL import Image

先引入必要的模块

file_name = os.listdir('images')  # file_name是个列表,用来装images目录下的文件名
if not os.path.exists('image'):
    os.mkdir('image')   #  创建一个我们要存放分类好的数据文件夹
s = ['train','val']
for j in s:
    for i in file_name:
        os.makedirs('image/{0}/{1}'.format(j,i))  # 将每个分类好的数据文件夹的文件夹名创建到我们要存放的数据的文件夹中
for i in file_name:
    print(i)
    file = os.listdir('images/%s'%i)
    print(len(file))
    num_val = random.sample(file,100)  # 随机在每个类别的样本抽取100个到验证集中
#     print(num_val)
    for j in file:
        print(j)
        if j in num_val:
            img = Image.open('images/{0}/{1}'.format(i,j)) # 读取图片
            img.save('image/val/{0}/{1}'.format(i,j)) # 存放图片
        else:
            img = Image.open('images/{0}/{1}'.format(i,j))
            img.save('image/train/{0}/{1}'.format(i,j))
发布了21 篇原创文章 · 获赞 3 · 访问量 207

猜你喜欢

转载自blog.csdn.net/qq_38799933/article/details/105434113