深度学习笔记(二)卷积层 Convolutional tf.keras.layers.conv2D

如何理解tf.keras.layers.Conv2D()

在介绍,此函数之前,我们先了解卷积层在深度学习中的作用:

  • 什么卷积

卷积是指将卷积核应用到某个张量的所有点上,通过卷积核在输入的张量上滑动而生成经过滤处理的张量。
不同的卷积核对图像中不同特征的敏感程度不同,因此不同的卷积核提取的图像特征不同

卷积层完成的是:对图像特征的提取或者信息匹配

tf.keras.layers.Conv2D()的函数参数具体如下:

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,
    **kwargs,

)
这一层创建了一个卷积核,它与这一层的输入卷积以产生一个输出张量。如果’ use_bias ‘为真,则创建一个偏差向量并添加到输出中。最后,如果“activation”不是“None”,它也会应用于输出。当使用此层作为模型中的第一层时,提供关键字参数’ input_shape ‘(整数元组,不包括示例轴),
例如。对于data_format="channels_last"中的128x128 RGB图片,’ input_shape=(128, 128, 3) ’

下面介绍下具体参数的含义:

- filters:
整数,输出空间的维度 (即卷积中滤波器的输出数量)。

  • kernel_size:

    一个整数,或者 2 个整数表示的元组或列表, 指明 2D 卷积窗口的宽度和高度。 可以是一个整数,为所有空间维度指定相同的值。

  • strides:
    一个整数,或者 2 个整数表示的元组或列表, 指明卷积沿宽度和高度方向的步长。 可以是一个整数,为所有空间维度指定相同的值。 指定任何 stride 值 != 1 与指定 dilation_rate 值 != 1 两者不兼容。

  • padding:

    “valid” 或 “same” (大小写敏感)。

  • data_format:
    字符串, channels_last (默认) 或 channels_first 之一,表示输入中维度的顺序。 channels_last 对应输入尺寸为 (batch, height, width, channels), channels_first 对应输入尺寸为 (batch, channels, height, width)。 它默认为从 Keras 配置文件 ~/.keras/keras.json 中 找到的 image_data_format 值。 如果你从未设置它,将使用 channels_last。

  • dilation_rate:
    一个整数或 2 个整数的元组或列表, 指定膨胀卷积的膨胀率。 可以是一个整数,为所有空间维度指定相同的值。 当前,指定任何 dilation_rate 值 != 1 与 指定 stride 值 != 1 两者不兼容。

  • activation:

    要使用的激活函数 (详见 activations)。 如果你不指定,则不使用激活函数 (即线性激活: a(x) = x)。

  • use_bias:

布尔值,该层是否使用偏置向量。

  • kernel_initializer:
    kernel 权值矩阵的初始化器 (详见 initializers)。
  • bias_initializer:
    偏置向量的初始化器 (详见 initializers)。
  • kernel_regularizer:
    运用到 kernel 权值矩阵的正则化函数 (详见 regularizer)。
  • bias_regularizer:
    运用到偏置向量的正则化函数 (详见 regularizer)。
  • activity_regularizer:
    运用到层输出(它的激活值)的正则化函数 (详见 regularizer)。
  • kernel_constraint:
    运用到 kernel 权值矩阵的约束函数 (详见 constraints)。
  • bias_constraint:

你可能感兴趣的:(深度学习,深度学习,tensorflow)