kaggle竞赛之cat vs dog数据预处理将猫和狗移动到不同文件夹下

比较基础的python程序,只是把猫狗图像移动到不同的文件夹之下。

# -*- coding: utf-8 -*-
# @Time    : 2019/6/30 19:35
# @Author  : YYLin
# @Email   : [email protected]
# @File    : sample.py
import os
import glob
import shutil
import sys


def Mv_cat_dog_in_different_file():
    images = glob.glob('../Dataset/data_name/train/*.jpg')

    cat_path = '../Dataset/data_name/train/cat'
    dog_path = '../Dataset/data_name/train/dog'

    for i, image in enumerate(images):

        if 'cat' in image:
            shutil.move(image, cat_path)
        elif 'dog' in image:
            shutil.move(image, dog_path)
        else:
            print('数据集中存在异常数据:', image)
            sys.exit()

        if i%5000==0:
            print('已经移动了%d张图像了'%(i))


Mv_cat_dog_in_different_file()

生成验证集,移动1000张猫和狗的图像到指定的文件夹下面

import glob
import shutil
import sys


def Gener_Valid():
    images = glob.glob('../Dataset/data_name/train/*.jpg')

    cat_path = '../Dataset/data_name/valid/cat'
    dog_path = '../Dataset/data_name/valid/dog'

    cat_num = 0
    dog_num = 0

    for i, image in enumerate(images):
        # 首先移动1000张猫到验证集中
        if cat_num < 1001:
            if 'cat' in image:
                shutil.move(image, cat_path)
                cat_num = cat_num + 1

        # 然后移动狗的图像
        if dog_num < 1001:
            if 'dog' in image:
                shutil.move(image, dog_path)
                dog_num = dog_num + 1

        if cat_num >= 1001 and dog_num >= 1001:
            print('********已经移动了%d张猫,移动了%d张狗**********'%(cat_num, dog_num))
            sys.exit()


Gener_Valid()

猜你喜欢

转载自blog.csdn.net/qq_41776781/article/details/94553854