keras分类猫狗数据(上)数据预处理

keras分类猫狗数据(上)数据预处理
keras分类猫狗数据(中)使用CNN分类模型
keras分类猫狗数据(下)迁移学习
keras分类猫狗数据(番外篇)深度学习CNN连接SVM分类

数据来源:https://www.kaggle.com/c/dogs-vs-cats
在本部分数据预处理,下载train.zip并解压(如本人所有图片解压后位于E:/MLdata/kaggle_Dogsvs.Cats/train/)。

本文后续部分,将要取其中各1000张猫狗训练数据,各500张猫狗测试数据(共2000+1000张),并分别放到类别文件夹中。最终如下结构。
这里写图片描述

1 .如下代码,获取所有猫狗文件路径,可以看出共分别有12500,12500猫狗图片。

import os

train='E:/MLdata/kaggle_Dogsvs.Cats/train/'

dogs=[train+i for i in os.listdir(train) if 'dog' in i]

cats=[train+i for i in os.listdir(train) if 'cat' in i]

print(len(dogs),len(cats))

12500 12500

2 . 如下代码,将训练用到2000张图片,测试的1000张图片放置指定文件夹。

import os

def createDir(path):
    if not os.path.exists(path):
        try:
            os.makedirs(path)
        except:
            print("创建文件夹失败")
            exit(1)

path="E:/MLdata/kaggle_Dogsvs.Cats/min_trainfordata/"

createDir(path+"train/dogs")
createDir(path+"train/cats")
createDir(path+"test/dogs")
createDir(path+"test/cats")

import catvsdogs.utils.data_process as dp #第1部分代码
import shutil
for dog,cat in list(zip(dp.dogs,dp.cats))[:1000]:
    shutil.copyfile(dog,path+"train/dogs/"+os.path.basename(dog))
    print(os.path.basename(dog)+"操作成功")
    shutil.copyfile(cat, path + "train/cats/" + os.path.basename(cat))
    print(os.path.basename(cat) + "操作成功")
for dog, cat in list(zip(dp.dogs, dp.cats))[1000:1500]:
    shutil.copyfile(dog, path + "test/dogs/" + os.path.basename(dog))
    print(os.path.basename(dog) + "操作成功")
    shutil.copyfile(cat, path + "test/cats/" + os.path.basename(cat))
    print(os.path.basename(cat) + "操作成功")
阅读更多
版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/nima1994/article/details/79950775
个人分类: python/人工智障
所属专栏: 机器学习入门与放弃
上一篇keras中的History对象
下一篇keras分类猫狗数据(中)使用CNN分类模型
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭