关于卷积的具体操作不细讲,本文只是自己太懒了不想记手写笔记。
由于自己接触到的都是图像
处理相关的工作,因此,在这里只介绍2D卷积。
keras.layers.convolutional.Conv2D(filters,kernel_size,strides(1,1),
padding='valid',
data_format=None,
dilation_rate=(1,1),
activation=None,
use_bias=True,
kernel_initializer='glorot_uniform',
bias_initializer='zeros',
kernel_regularizer=None,
bias_regularizer=None,
activity_regularizer=None,
kernel_constraint=None,
bias_constraint=None)
此操作将二维向量进行卷积,当使用该层作为第一层时,应提供input_shape参数。
参数:
filters:卷积核的数目(即输出的维度)。
kernel_size:单个整数或由两个整数构成的list/tuple,卷积核的宽度和长度。如为单
个整数,则表示在各个空间维度的相同长度。
strides:单个整数或由两个整数构成的list/tuple,为卷积的步长。如为单个整数,则
表示在各个空间维度的相同步长。任何不为1的strides均与任何不为1的dilation_rata均
不兼容。
padding:补0策略,为“valid”, “same”。“valid”代表只进行有效的卷积,即对边界数据
不处理。“same”代表保留边界处的卷积结果,通常会导致输出shape与输入shape相
同。
activation:激活函数,为预定义的激活函数名(参考激活函数),或逐元素
(element-wise)的Theano函数。如果不指定该参数,将不会使用任何激活函数(即
使用线性激活函数:a(x)=x)。
dilation_rate:单个整数或由两个个整数构成的list/tuple,指定dilated convolution中的
膨胀比例。任何不为1的dilation_rata均与任何不为1的strides均不兼容。
data_format:字符串,“channels_first”或“channels_last”之一,代表图像的通道维的位
置。该参数是Keras 1.x中的image_dim_ordering,“channels_last”对应原本
的“tf”,“channels_first”对应原本的“th”。以128x128的RGB图像为
例,“channels_first”应将数据组织为(3,128,128),而“channels_last”应将数据组织为
(128,128,3)。该参数的默认值是~/.keras/keras.json中设置的值,若从未设置过,则
为“channels_last”。
use_bias:布尔值,是否使用偏置项。
kernel_initializer:权值初始化方法,为预定义初始化方法名的字符串,或用于初始化
权重的初始化器。
bias_initializer:权值初始化方法,为预定义初始化方法名的字符串,或用于初始化权
重的初始化器。
kernel_regularizer:施加在权重上的正则项,为Regularizer对象。
bias_regularizer:施加在偏置向量上的正则项,为Regularizer对象。
activity_regularizer:施加在输出上的正则项,为Regularizer对象。
kernel_constraints:施加在权重上的约束项,为Constraints对象。
bias_constraints:施加在偏置上的约束项,为Constraints对象。
参考:侯宜军.keras图像深度学习实战