tf.keras.layers.Conv2D

介绍

二维卷积层,即对图像进行卷积。该层对 二维 输入进行滑动窗卷积。

卷积核计算公式

https://www.malaoshi.top/show_1EF53TtDvZ4C.html

初始化

tf.keras.layers.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=None,
    **kwargs
)

参数

  • filters:卷积核数量

  • kernel_size:卷积核大小。

    • 单个整数,则表示在各个空间维度的相同长度。
    • 两个整数构成的list/tuple,卷积核的宽度和长度
  • strides:步长,单个整数或由两个整数构成的list/tuple。如为单个整数,则表示在各个空间维度的相同步长。任何不为1的strides均与任何不为1的dilation_rate均不兼容

  • padding:默认“valid”

    • “valid”:对边界数据不填充,卷积后图片会变小
    • “same”:在图片周围填充0,根据公式:(img_size-kernel_size +2*P)/S + 1,不受卷积核大小影响,受步长影响
  • activation:激活函数,为预定义的激活函数名(参考激活函数),或逐元素(element-wise)的Theano函数。如果不指定该参数,将不会使用任何激活函数(即使用线性激活函数:a(x)=x)

  • input_shape:输入形状。该层作为 第一层时,应提供input_shape参数,否则 不会 初始化权重

  • dilation_rate:单个整数或由两个个整数构成的list/tuple,指定dilated convolution中的膨胀比例。任何不为1的dilation_rate均与任何不为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:权值初始化方法,为预定义初始化方法名的字符串,或用于初始化权重的初始化器。
    参看:https://www.malaoshi.top/show_1EF4Avx1LqEv.html

  • bias_initializer:权值初始化方法,为预定义初始化方法名的字符串,或用于初始化权重的初始化器。
    参看:https://www.malaoshi.top/show_1EF4Avx1LqEv.html

  • kernel_regularizer:施加在权重上的正则项,为Regularizer对象

  • bias_regularizer:施加在偏置向量上的正则项,为Regularizer对象

  • activity_regularizer:施加在输出上的正则项,为Regularizer对象

  • kernel_constraints:施加在权重上的约束项,为Constraints对象

  • bias_constraints:施加在偏置上的约束项,为Constraints对象

注意:

当使用该层作为 第一层时,应提供input_shape参数,否则 不会 初始化权重

主要方法

get_weights()

返回list类型:

  • 第1个元素是 weight,即:权重。

    形状一般是4维:

    • 第1、2个维度等于 参数 kernel_size,即:卷积核尺寸
    • 第3个维度 等于 输入图片的 通道数
    • 第4个维度等于 参数 filters ,即:卷积核数量
  • 第二个元素是 bias,即:偏执量。一维数组,其长度等于 参数 filters ,即:卷积核数量

感谢:
https://keras-cn.readthedocs.io/en/latest/layers/convolutional_layer/


原文出处:/show_1EF4AvyXH6lx.html