美文网首页
Keras之数据增广

Keras之数据增广

作者: AI未央 | 来源:发表于2018-03-11 18:27 被阅读0次

在实际的数据集制作中,由于采集数据难度的问题,可获取的数据量有限,同时训练神经网络需要大量的数据,这时候就可以采用keras内的数据增广模块。

import matplotlib.pyplotas plt

from PILimport Image

from keras.preprocessingimport image

from  kerasimport backendas K

import glob

import keras

import cv2

import numpyas np

import os

def image_create():

    datagen=image.ImageDataGenerator(featurewise_center=True,

        samplewise_center=True,

        featurewise_std_normalization=False,

        samplewise_std_normalization=False,

        zca_whitening=False,

        zca_epsilon=1e-6,

        rotation_range=15.0,

        width_shift_range=0.05,

        height_shift_range=0.05,

        shear_range=0.3,

        zoom_range=0.,

        channel_shift_range=10.,

        fill_mode='nearest',

        cval=0.,

        horizontal_flip=False,

        vertical_flip=False,

        rescale=None,

        preprocessing_function=None,

        data_format=K.image_data_format()

)

gen_data= datagen.flow_from_directory('C:/Users/AI/Desktop/data/',

                                          batch_size=1,

                                          shuffle=False,

                                          save_to_dir='C:/Users/AI/Desktop/ data_augmentation',

                                          save_prefix='',

                                          target_size=(48,48))

for i in range(45000)://你想要增广的数据数量

        # gen_data.next()

        gen_data.next()

name_list = glob.glob('C:/Users/AI/Desktop/num3')

比如我的数据一共有9类,类别编号1-9,第一类的图片存放在C:/Users/AI/Desktop/data/1,第二类的图片放在C:/Users/AI/Desktop/data/2中.....然后运行上述程序,可以得到一共45000张图片。

下面说一下数据增广的一些参数问题:

主要函数:ImageDataGenerator:

rotation_range: 旋转范围, 随机旋转(0-180)度;

width_shift and height_shift: 随机沿着水平或者垂直方向,以图像的长宽小部分百分比为变化范围进行平移;

rescale: 对图像按照指定的尺度因子, 进行放大或缩小, 设置值在0 - 1之间,通常为1 / 255;

shear_range: 水平或垂直投影变换,可以参考https://keras.io/preprocessing/image/

zoom_range: 按比例随机缩放图像尺寸;

horizontal_flip: 水平翻转图像;

fill_mode: 填充像素, 出现在旋转或平移之后.

相关文章

  • Keras之数据增广

    在实际的数据集制作中,由于采集数据难度的问题,可获取的数据量有限,同时训练神经网络需要大量的数据,这时候就可以采用...

  • keras.layers.Dense 图形化解释

    通常NN层的描述如下: units 的值: 数据如下: keras层的定义: keras层的数据对应方式 (n=5):

  • 卷积神经网络实现多个数字识别

    数据集:MNIST框架:Keras显卡:NVIDIA GEFORCE 750M参考:Keras中文文档 这是优达学...

  • keras 模型参数

    Tensorflow: 1.2.0 Keras: 2.1.6 最近学习keras, 下载了数据集和一些已经训练好的...

  • tensorflow模型建立与训练

    线性分类器Model 数据获取及预处理: tf.keras.datasets 模型的构建: tf.keras.Mo...

  • 深度学习

    社区 ppv大数据社区 深度学习 知乎 博客 特征工程 知乎 深度学习的理解 数学之美 技术方面 Keras/Py...

  • (4)简单的模型编写

    (1)使用tf.keras.datasets获得数据集并预处理(2)使用tf.keras.Model和tf.ker...

  • keras学习笔记

    参考keras 中文文档 1.在多张GPU卡上使用Keras 以TnesorFlow后端,可以使用数据并行的方式。...

  • 几种数据增广神器介绍

    imgaug 机器学习避免不了数据增广,数据增广种的一大法宝神器莫过于imgaug的使用。imgaug的使用大大的...

  • 数据增广python库imgaug

    一个不错的用于机器学习数据增广的python库。支持多种增广方式,比如Affine,crop,pad,noise,...

网友评论

      本文标题:Keras之数据增广

      本文链接:https://www.haomeiwen.com/subject/djmvyxtx.html