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

43人阅读 评论(0) 收藏 举报
分类:

数据来源: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) + "操作成功")
查看评论

使用Keras做猫狗分类

本文介绍一个图像分类问题,目标是得到输入图像的类别。使用的方法是训练卷积神经网络,数据集包括上千张猫和狗的图像。 使用的框架是Keras库,数据集下载:这里写链接内容 1下载test_set 和t...
  • poilkj110
  • poilkj110
  • 2017-12-20 14:13:43
  • 801

deeplearning练手之 transfer learning极速实现 之 猫狗分类器 (keras实现)

这是一个无聊的猫狗分类器! 这是一个transfer learning的简单试手! 原理什么乱七八糟的别人说的够多了!我看了这几个: 点击打开链接 点击打开链接 分类器我用了keras里的ResN...
  • HiccupHiccup
  • HiccupHiccup
  • 2017-12-02 15:32:12
  • 761

python中利用Keras建几层卷积神经网络来做Kaggle猫狗识别

import numpy as np np.random.seed(1336) # for reproducibility from keras.datasets import mnist fro...
  • qq_25964837
  • qq_25964837
  • 2018-01-11 21:12:30
  • 293

如何用keras cnn 做kaggle猫狗大战图片识别

1、数据简介这份数据集来源于Kaggle,原数据集有12500只猫和12500只狗,因单机cpu跑,这里我只选取了2000张图片,工具用的是基于tensorflow的keras。数据如下所示: 2、...
  • shizhengxin123
  • shizhengxin123
  • 2017-05-17 19:29:29
  • 4357

[keras]猫狗大战的总结

这篇博客主要参考的是keras官方文档中的“面向小数据集构建图像分类模型”。本文记录了学习这篇文章遇到的问题和自己探索的一些方法。官方文档的大致思路是:首先利用去掉全连接层的VGG-16网络,得到数据...
  • SMUEvian
  • SMUEvian
  • 2017-03-04 17:31:45
  • 3079

狗的分类

1、  工作组2、  运动组3、  狩猎犬组4、  更类犬组5、  玩具犬组6、  牧羊犬组7、  非运动犬组(家庭犬组)一:工作犬组1、秋田犬/Akita 2、阿拉斯加爱斯基摩狗/Alaskan M...
  • jlusdy
  • jlusdy
  • 2006-02-07 14:34:00
  • 1389

DataCastle[猫狗大战]冠军——Kuhung 思路及代码

我是参加DataCastle猫狗大战的选手,kuhung。在测评中,我提交的数据集最后评分0.98639。以下是我的备战过程及心得体会。(最后有完整代码及较全面的注释)...
  • DataCastle
  • DataCastle
  • 2016-08-12 10:46:22
  • 3831

猫狗大战

小数据集的深度学习,keras
  • Kaido0
  • Kaido0
  • 2016-11-27 17:40:32
  • 4095

卷积神经网络CNN——使用keras识别猫咪

在近些年,深度学习领域的卷积神经网络(CNNs或ConvNets)在各行各业为我们解决了大量的实际问题。但是对于大多数人来说,CNN仿佛戴上了神秘的面纱。我经常会想,要是能将神经网络的过程分解,看一看...
  • qq_26222859
  • qq_26222859
  • 2017-11-19 16:50:15
  • 473

Tensorflow 实现AlexNet 猫狗分类

原文地址:AlexNet 关于文章的理解,网上有很多博客可以参考,这里只给出LRN(local response normalization)的一篇回答,其中形象的解释了LRN,如下图所示。地址链接...
  • u014484783
  • u014484783
  • 2018-03-20 10:22:51
  • 75
    个人资料
    持之以恒
    等级:
    访问量: 10万+
    积分: 2298
    排名: 2万+
    最新评论