[source]

Conv1D

keras.layers.Conv1D(filters, kernel_size, strides=1, padding='valid', data_format='channels_last', dilation_rate=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)

一维卷积层(例如时间卷积).

该层创建一个卷积核,该卷积核与该层输入在单个空间(或时间)维度上进行卷积,以生成输出张量. 如果use_bias为True,则会创建一个偏差矢量并将其添加到输出中. 最后,如果activation不是None ,它也将应用于输出.

当将此层用作模型的第一层时,请提供一个input_shape参数(整数元组或None ,不包括批处理轴),例如input_shape=(10, 128)对于具有10个时间步长且具有128个特征的时间序列,请input_shape=(10, 128) data_format="channels_last"每步,或(None, 128)对于每步具有128个特征的变长序列.

Arguments

  • 过滤器 :整数,输出空间的维数(即卷积中输出过滤器的数量).
  • kernel_size :一个整数或一个整数的元组/列表,指定一维卷积窗口的长度.
  • strides :整数或一个整数的元组/列表,指定卷积的步长. 指定任何步幅值!= 1与指定任何dilation_rate值!= 1不兼容.
  • 填充"valid""causal""same" (不区分大小写). "valid"表示"无填充". "same"导致对输入进行填充,以使输出具有与原始输入相同的长度. "causal"导致因果关系(膨胀)卷积,例如output[t]不依赖于input[t + 1:] . 使用零填充,以便输出具有与原始输入相同的长度. 在对模型不应违反时间顺序的时间数据进行建模时很有用. 请参阅WaveNet:原始音频的生成模型,第2.1节 .
  • data_format :字符串,是"channels_last" (默认)或"channels_first" . 输入中尺寸的顺序. "channels_last"对应于具有形状(batch, steps, channels) (Keras中时间数据的默认格式),而"channels_first"对应于具有形状的输入(batch, channels, steps) .
  • dilation_rate :一个整数或一个整数的元组/列表,指定用于膨胀卷积的膨胀率. 当前,指定任何dilation_rate值!= 1与指定任何strides值!= 1不兼容.
  • activation :要使用的激活功能(请参阅激活 ). 如果您未指定任何内容,则不应用任何激活(即"线性"激活: a(x) = x ).
  • use_bias :布尔值,层是否使用偏置向量.
  • kernel_initializerkernel权重矩阵的初始化程序 (请参阅initializers ).
  • bias_initializer :偏向向量的初始化器 (请参阅初始化器 ).
  • kernel_regularizer :将正则化函数应用到kernel权重矩阵(请参阅regularizer ).
  • bias_regularizer :将正则化函数应用于偏置向量(请参阅regularizer ).
  • activity_regularizer :将正则化函数应用于图层的输出(其"激活"). (请参阅正则化器 ).
  • kernel_constraint :应用于内核矩阵的约束函数(请参阅Constraints ).
  • bias_constraint :应用于偏差向量的约束函数(请参阅constraints ).

Input shape

具有以下形状的3D张量:( (batch, steps, channels)

输出形状

三维张量与形状: (batch, new_steps, filters) steps值可能由于填充或进展已经改变.


[source]

Conv2D

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)

2D卷积层(例如,图像上的空间卷积).

该层创建一个卷积内核,该卷积内核与该层输入进行卷积以产生输出张量. 如果use_bias为True,则会创建一个偏差矢量并将其添加到输出中. 最后,如果activation不是None ,它也将应用于输出.

当将此层用作模型的第一层时,请提供关键字参数input_shape (整数元组,不包括批处理轴),例如input_shape=(128, 128, 3)对于data_format="channels_last" 128x128 RGB图片, data_format="channels_last"data_format="channels_last" .

Arguments

  • 过滤器 :整数,输出空间的维数(即卷积中输出过滤器的数量).
  • kernel_size :一个整数或2个整数的元组/列表,指定2D卷积窗口的高度和宽度. 可以是单个整数,以为所有空间尺寸指定相同的值.
  • strides :2的整数或元组/列表,指定沿高度和宽度的卷积的步幅. 可以是单个整数,以为所有空间尺寸指定相同的值. 指定任何步幅值!= 1与指定任何dilation_rate值!= 1不兼容.
  • 填充"valid""same" (不区分大小写). 需要注意的是"same"的跨越与后端略微不一致strides != 1,描述在这里
  • data_format :字符串,是"channels_last""channels_first" . 输入中尺寸的顺序. "channels_last"对应于具有形状(batch, height, width, channels)输入,而"channels_first"对应于具有形状(batch, channels, height, width) . 它默认为在~/.keras/keras.json配置文件中找到的image_data_format值. 如果您从未设置,那么它将是" channels_last".
  • dilation_rate :一个整数或2个整数的元组/列表,指定用于扩张卷积的扩张率. 可以是单个整数,以为所有空间尺寸指定相同的值. 当前,指定任何dilation_rate值!= 1与指定任何跨度值!= 1不兼容.
  • activation :要使用的激活功能(请参阅激活 ). 如果您未指定任何内容,则不应用任何激活(即"线性"激活: a(x) = x ).
  • use_bias :布尔值,层是否使用偏置向量.
  • kernel_initializerkernel权重矩阵的初始化程序 (请参阅initializers ).
  • bias_initializer :偏向向量的初始化器 (请参阅初始化器 ).
  • kernel_regularizer :将正则化函数应用到kernel权重矩阵(请参阅regularizer ).
  • bias_regularizer :将正则化函数应用于偏置向量(请参阅regularizer ).
  • activity_regularizer :将正则化函数应用于图层的输出(其"激活"). (请参阅正则化器 ).
  • kernel_constraint :应用于内核矩阵的约束函数(请参阅Constraints ).
  • bias_constraint :应用于偏差向量的约束函数(请参阅constraints ).

输入形状

4D张量与形状: (batch, channels, rows, cols)如果data_format"channels_first"或4D张量与形状: (batch, rows, cols, channels)如果data_format"channels_last"

输出形状

4D张量与形状: (batch, filters, new_rows, new_cols)如果data_format"channels_first"或4D张量与形状: (batch, new_rows, new_cols, filters)如果data_format"channels_last" rowscols值可能已经改变,由于填充.


[source]

SeparableConv1D

keras.layers.SeparableConv1D(filters, kernel_size, strides=1, padding='valid', data_format='channels_last', dilation_rate=1, depth_multiplier=1, activation=None, use_bias=True, depthwise_initializer='glorot_uniform', pointwise_initializer='glorot_uniform', bias_initializer='zeros', depthwise_regularizer=None, pointwise_regularizer=None, bias_regularizer=None, activity_regularizer=None, depthwise_constraint=None, pointwise_constraint=None, bias_constraint=None)

Depthwise separable 1D convolution.

可分离的卷积在于首先执行深度空间卷积(它分别作用于每个输入通道),然后是逐点卷积,将所得的输出通道混合在一起. depth_multiplier参数控制在深度步骤中每个输入通道生成多少个输出通道.

直观上,可分离的卷积可以理解为将卷积内核分解为两个较小内核的方法,也可以理解为Inception块的极端版本​​.

Arguments

  • 过滤器 :整数,输出空间的维数(即卷积中输出过滤器的数量).
  • kernel_size :一个整数或一个整数的元组/列表,指定一维卷积窗口的长度.
  • strides :整数或单整数的元组/列表,指定卷积的步长. 指定任何步幅值!= 1与指定任何dilation_rate值!= 1不兼容.
  • 填充"valid""same" (不区分大小写).
  • data_format :字符串,是"channels_last""channels_first" . 输入中尺寸的顺序. "channels_last"对应于具有形状(batch, steps, channels)输入,而"channels_first"对应于具有形状(batch, channels, steps) .
  • dilation_rate :一个整数或一个整数的元组/列表,指定用于膨胀卷积的膨胀率. 当前,指定任何dilation_rate值!= 1与指定任何strides值!= 1不兼容.
  • depth_multiplier :每个输入通道的深度卷积输出通道的数量. 深度卷积输出通道的总数将等于filters_in * depth_multiplier .
  • activation :要使用的激活功能(请参阅激活 ). 如果您未指定任何内容,则不应用任何激活(即"线性"激活: a(x) = x ).
  • use_bias :布尔值,层是否使用偏置向量.
  • depthwise_initializer :用于深度内核矩阵的初始化程序(请参阅初始化程序 ).
  • pointwise_initializer :逐点内核矩阵的初始化程序(请参阅Initializers ).
  • bias_initializer :偏向向量的初始化器 (请参阅初始化器 ).
  • depthwise_regularizer :将regularizer函数应用于深度内核矩阵(请参阅regularizer ).
  • pointwise_regularizer :将正则化函数应用于逐点内核矩阵(请参见regularizer ).
  • bias_regularizer: Regularizer function applied to the bias vector (see regularizer).
  • activity_regularizer :将正则化函数应用于图层的输出(其"激活"). (请参阅正则化器 ).
  • depthwise_constraint :应用于深度内核矩阵的约束函数(请参见约束 ).
  • pointwise_constraint :应用于逐点内核矩阵的约束函数(请参阅Constraints ).
  • bias_constraint :应用于偏差向量的约束函数(请参阅constraints ).

输入形状

三维张量与形状: (batch, channels, steps)如果data_format"channels_first"或三维张量与形状: (batch, steps, channels)如果data_format"channels_last" .

输出形状

三维张量与形状: (batch, filters, new_steps)如果data_format"channels_first"或三维张量与形状: (batch, new_steps, filters)如果data_format"channels_last" . new_steps值可能由于填充或步幅而改变.


[source]

SeparableConv2D

keras.layers.SeparableConv2D(filters, kernel_size, strides=(1, 1), padding='valid', data_format=None, dilation_rate=(1, 1), depth_multiplier=1, activation=None, use_bias=True, depthwise_initializer='glorot_uniform', pointwise_initializer='glorot_uniform', bias_initializer='zeros', depthwise_regularizer=None, pointwise_regularizer=None, bias_regularizer=None, activity_regularizer=None, depthwise_constraint=None, pointwise_constraint=None, bias_constraint=None)

深度可分离的2D卷积.

可分离卷积首先执行深度空间卷积(它分别作用于每个输入通道),然后是逐点卷积,将所得的输出通道混合在一起. depth_multiplier参数控制在深度步骤中每个输入通道生成多少个输出通道.

直观上,可分离的卷积可以理解为将卷积内核分解为两个较小内核的方法,也可以理解为Inception块的极端版本​​.

Arguments

  • 过滤器 :整数,输出空间的维数(即卷积中输出过滤器的数量).
  • kernel_size :一个整数或2个整数的元组/列表,指定2D卷积窗口的高度和宽度. 可以是单个整数,以为所有空间尺寸指定相同的值.
  • strides :2的整数或元组/列表,指定沿高度和宽度的卷积的步幅. 可以是单个整数,以为所有空间尺寸指定相同的值. 指定任何步幅值!= 1与指定任何dilation_rate值!= 1不兼容.
  • 填充"valid""same" (不区分大小写).
  • data_format :字符串,是"channels_last""channels_first" . 输入中尺寸的顺序. "channels_last"对应于具有形状(batch, height, width, channels)输入,而"channels_first"对应于具有形状(batch, channels, height, width) . 它默认为在~/.keras/keras.json配置文件中找到的image_data_format值. 如果您从未设置,那么它将是" channels_last".
  • dilation_rate :一个整数或2个整数的元组/列表,指定用于扩张卷积的扩张率. 当前,指定任何dilation_rate值!= 1与指定任何strides值!= 1不兼容.
  • depth_multiplier :每个输入通道的深度卷积输出通道的数量. 深度卷积输出通道的总数将等于filters_in * depth_multiplier .
  • activation :要使用的激活功能(请参阅激活 ). 如果您未指定任何内容,则不应用任何激活(即"线性"激活: a(x) = x ).
  • use_bias :布尔值,层是否使用偏置向量.
  • depthwise_initializer :用于深度内核矩阵的初始化程序(请参阅初始化程序 ).
  • pointwise_initializer :逐点内核矩阵的初始化程序(请参阅Initializers ).
  • bias_initializer :偏向向量的初始化器 (请参阅初始化器 ).
  • depthwise_regularizer :将regularizer函数应用于深度内核矩阵(请参阅regularizer ).
  • pointwise_regularizer :将正则化函数应用于逐点内核矩阵(请参见regularizer ).
  • bias_regularizer :将正则化函数应用于偏置向量(请参阅regularizer ).
  • activity_regularizer :将正则化函数应用于图层的输出(其"激活"). (请参阅正则化器 ).
  • depthwise_constraint :应用于深度内核矩阵的约束函数(请参见约束 ).
  • pointwise_constraint :应用于逐点内核矩阵的约束函数(请参阅Constraints ).
  • bias_constraint :应用于偏差向量的约束函数(请参阅constraints ).

输入形状

4D张量与形状: (batch, channels, rows, cols)如果data_format"channels_first"或4D张量与形状: (batch, rows, cols, channels)如果data_format"channels_last"

输出形状

4D张量与形状: (batch, filters, new_rows, new_cols)如果data_format"channels_first"或4D张量与形状: (batch, new_rows, new_cols, filters)如果data_format"channels_last" rowscols值可能已经改变,由于填充.


[source]

DepthwiseConv2D

keras.layers.DepthwiseConv2D(kernel_size, strides=(1, 1), padding='valid', depth_multiplier=1, data_format=None, dilation_rate=(1, 1), activation=None, use_bias=True, depthwise_initializer='glorot_uniform', bias_initializer='zeros', depthwise_regularizer=None, bias_regularizer=None, activity_regularizer=None, depthwise_constraint=None, bias_constraint=None)

深度二维卷积.

深度卷积仅执行深度空间卷积的第一步(分别作用于每个输入通道). depth_multiplier参数控制在深度步骤中每个输入通道生成多少个输出通道.

Arguments

  • kernel_size :一个整数或2个整数的元组/列表,指定2D卷积窗口的高度和宽度. 可以是单个整数,以为所有空间尺寸指定相同的值.
  • strides :2的整数或元组/列表,指定沿高度和宽度的卷积的步幅. 可以是单个整数,以为所有空间尺寸指定相同的值. 指定任何步幅值!= 1与指定任何dilation_rate值!= 1不兼容.
  • 填充"valid""same" (不区分大小写).
  • depth_multiplier :每个输入通道的深度卷积输出通道的数量. 深度卷积输出通道的总数将等于filters_in * depth_multiplier .
  • data_format :字符串,是"channels_last""channels_first" . 输入中尺寸的顺序. "channels_last"对应于具有形状(batch, height, width, channels)输入,而"channels_first"对应于具有形状(batch, channels, height, width) . 它默认为在~/.keras/keras.json配置文件中找到的image_data_format值. 如果您从未设置,那么它将是" channels_last".
  • dilation_rate :一个整数或2个整数的元组/列表,指定用于扩张卷积的扩张率. 可以是单个整数,以为所有空间尺寸指定相同的值. 当前,指定任何dilation_rate值!= 1与指定任何跨度值!= 1不兼容.
  • activation :要使用的激活功能(请参阅激活 ). 如果您未指定任何内容,则不会应用任何激活(即"线性"激活: a(x) = x ).
  • use_bias :布尔值,层是否使用偏置向量.
  • depthwise_initializer: Initializer for the depthwise kernel matrix (see initializers).
  • bias_initializer :偏向向量的初始化器 (请参阅初始化器 ).
  • depthwise_regularizer :将regularizer函数应用于深度内核矩阵(请参阅regularizer ).
  • bias_regularizer :将正则化函数应用于偏置向量(请参阅regularizer ).
  • activity_regularizer :将正则化函数应用于图层的输出(其"激活"). (请参阅正则化器 ).
  • depthwise_constraint :应用于深度内核矩阵的约束函数(请参见约束 ).
  • bias_constraint :应用于偏差向量的约束函数(请参阅constraints ).

输入形状

4D张量与形状: (batch, channels, rows, cols)如果data_format"channels_first"或4D张量与形状: (batch, rows, cols, channels)如果data_format"channels_last"

输出形状

4D张量与形状: (batch, channels * depth_multiplier, new_rows, new_cols)如果data_format"channels_first"或4D张量与形状: (batch, new_rows, new_cols, channels * depth_multiplier)如果data_format"channels_last" rowscols值可能已经改变,由于填充.


[source]

Conv2DTranspose

keras.layers.Conv2DTranspose(filters, kernel_size, strides=(1, 1), padding='valid', output_padding=None, 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 (整数元组,不包括批处理轴),例如input_shape=(128, 128, 3)对于data_format="channels_last" 128x128 RGB图片, data_format="channels_last"data_format="channels_last" .

Arguments

  • 过滤器 :整数,输出空间的维数(即卷积中输出过滤器的数量).
  • kernel_size :一个整数或2个整数的元组/列表,指定2D卷积窗口的高度和宽度. 可以是单个整数,以为所有空间尺寸指定相同的值.
  • strides :2的整数或元组/列表,指定沿高度和宽度的卷积的步幅. 可以是单个整数,以为所有空间尺寸指定相同的值. 指定任何步幅值!= 1与指定任何dilation_rate值!= 1不兼容.
  • 填充"valid""same" (不区分大小写).
  • output_padding :一个整数或2个整数的元组/列表,指定沿输出张量的高度和宽度的填充量. 可以是单个整数,以为所有空间尺寸指定相同的值. 沿给定尺寸的输出填充量必须小于沿相同尺寸的步幅. 如果设置为None (默认),则推断输出形状.
  • data_format :字符串,是"channels_last""channels_first" . 输入中尺寸的顺序. "channels_last"对应于具有形状(batch, height, width, channels)输入,而"channels_first"对应于具有形状(batch, channels, height, width) . 它默认为在~/.keras/keras.json配置文件中找到的image_data_format值. 如果您从未设置,那么它将是" channels_last".
  • dilation_rate :一个整数或2个整数的元组/列表,指定用于扩张卷积的扩张率. 可以是单个整数,以为所有空间尺寸指定相同的值. 当前,指定任何dilation_rate值!= 1与指定任何跨度值!= 1不兼容.
  • activation :要使用的激活功能(请参阅激活 ). 如果您未指定任何内容,则不应用任何激活(即"线性"激活: a(x) = x ).
  • use_bias :布尔值,层是否使用偏置向量.
  • kernel_initializerkernel权重矩阵的初始化程序 (请参阅initializers ).
  • bias_initializer :偏向向量的初始化器 (请参阅初始化器 ).
  • kernel_regularizer :将正则化函数应用到kernel权重矩阵(请参阅regularizer ).
  • bias_regularizer :将正则化函数应用于偏置向量(请参阅regularizer ).
  • activity_regularizer :将正则化函数应用于图层的输出(其"激活"). (请参阅正则化器 ).
  • kernel_constraint :应用于内核矩阵的约束函数(请参阅Constraints ).
  • bias_constraint :应用于偏差向量的约束函数(请参阅constraints ).

输入形状

4D张量与形状: (batch, channels, rows, cols)如果data_format"channels_first"或4D张量与形状: (batch, rows, cols, channels)如果data_format"channels_last"

输出形状

4D张量与形状: (batch, filters, new_rows, new_cols)如果data_format"channels_first"或4D张量与形状: (batch, new_rows, new_cols, filters)如果data_format"channels_last" rowscols值可能已经改变,由于填充. 如果指定了output_padding

new_rows = ((rows - 1) * strides[0] + kernel_size[0]
            - 2 * padding[0] + output_padding[0])
new_cols = ((cols - 1) * strides[1] + kernel_size[1]
            - 2 * padding[1] + output_padding[1])

References


[source]

Conv3D

keras.layers.Conv3D(filters, kernel_size, strides=(1, 1, 1), padding='valid', data_format=None, dilation_rate=(1, 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)

3D卷积层(例如,体积上的空间卷积).

该层创建一个卷积内核,该卷积内核与该层输入进行卷积以产生输出张量. 如果use_bias为True,则会创建一个偏差矢量并将其添加到输出中. 最后,如果activation不是None ,它也将应用于输出.

当将此层用作模型的第一层时,请为单个通道的128x128x128卷提供关键字参数input_shape (整数元组,不包括批处理轴),例如input_shape=(128, 128, 128, 1) 128,128,128,1 input_shape=(128, 128, 128, 1) ,在data_format="channels_last" .

Arguments

  • 过滤器 :整数,输出空间的维数(即卷积中输出过滤器的数量).
  • kernel_size :一个整数或3个整数的元组/列表,用于指定3D卷积窗口的深度,高度和宽度. 可以是单个整数,以为所有空间尺寸指定相同的值.
  • 步幅 :3个整数的整数或元组/列表,指定沿每个空间维的卷积步幅. 可以是单个整数,以为所有空间尺寸指定相同的值. 指定任何步幅值!= 1与指定任何dilation_rate值!= 1不兼容.
  • 填充"valid""same" (不区分大小写).
  • data_format :字符串,是"channels_last""channels_first" . 输入中尺寸的顺序. "channels_last"对应于具有形状(batch, spatial_dim1, spatial_dim2, spatial_dim3, channels)输入,而"channels_first"对应于具有形状(batch, channels, spatial_dim1, spatial_dim2, spatial_dim3) . 它默认为在~/.keras/keras.json配置文件中找到的image_data_format值. 如果您从未设置,那么它将是" channels_last".
  • dilation_rate :一个整数或3个整数的元组/列表,指定用于扩张卷积的扩张率. 可以是单个整数,以为所有空间尺寸指定相同的值. 当前,指定任何dilation_rate值!= 1与指定任何跨度值!= 1不兼容.
  • activation :要使用的激活功能(请参阅激活 ). 如果您未指定任何内容,则不应用任何激活(即"线性"激活: a(x) = x ).
  • use_bias :布尔值,层是否使用偏置向量.
  • kernel_initializerkernel权重矩阵的初始化程序 (请参阅initializers ).
  • bias_initializer :偏向向量的初始化器 (请参阅初始化器 ).
  • kernel_regularizer :将正则化函数应用到kernel权重矩阵(请参阅regularizer ).
  • bias_regularizer :将正则化函数应用于偏置向量(请参阅regularizer ).
  • activity_regularizer :将正则化函数应用于图层的输出(其"激活"). (请参阅正则化器 ).
  • kernel_constraint :应用于内核矩阵的约束函数(请参阅Constraints ).
  • bias_constraint :应用于偏差向量的约束函数(请参阅constraints ).

输入形状

5D张量与形状: (batch, channels, conv_dim1, conv_dim2, conv_dim3)如果data_format"channels_first"或5D张量与形状: (batch, conv_dim1, conv_dim2, conv_dim3, channels)如果data_format"channels_last"

输出形状

5D张量与形状: (batch, filters, new_conv_dim1, new_conv_dim2, new_conv_dim3)如果data_format"channels_first"或5D张量与形状: (batch, new_conv_dim1, new_conv_dim2, new_conv_dim3, filters)如果data_format"channels_last" 由于填充, new_conv_dim1new_conv_dim2new_conv_dim3值可能已更改.


[source]

Conv3DTranspose

keras.layers.Conv3DTranspose(filters, kernel_size, strides=(1, 1, 1), padding='valid', output_padding=None, data_format=None, 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 (整数元组,不包括批处理轴),例如input_shape=(128, 128, 128, 3)对于具有3个通道的128x128x128体积,请input_shape=(128, 128, 128, 3) data_format="channels_last" .

Arguments

  • 过滤器 :整数,输出空间的维数(即卷积中输出过滤器的数量).
  • kernel_size :一个整数或3个整数的元组/列表,用于指定3D卷积窗口的深度,高度和宽度. 可以是单个整数,以为所有空间尺寸指定相同的值.
  • strides :3的整数或元组/列表,指定沿深度,高度和宽度的卷积的步幅. 可以是单个整数,以为所有空间尺寸指定相同的值. 指定任何步幅值!= 1与指定任何dilation_rate值!= 1不兼容.
  • 填充"valid""same" (不区分大小写).
  • output_padding :一个整数或3个整数的元组/列表,指定沿深度,高度和宽度的填充量. 可以是单个整数,以为所有空间尺寸指定相同的值. 沿给定尺寸的输出填充量必须小于沿相同尺寸的步幅. 如果设置为None (默认),则推断输出形状.
  • data_format :字符串,是"channels_last""channels_first" . 输入中尺寸的顺序. "channels_last"对应于具有形状(batch, depth, height, width, channels)输入,而"channels_first"对应于具有形状(batch, channels, depth, height, width) . 它默认为在~/.keras/keras.json配置文件中找到的image_data_format值. 如果您从未设置,那么它将是" channels_last".
  • dilation_rate :一个整数或3个整数的元组/列表,指定用于扩张卷积的扩张率. 可以是单个整数,以为所有空间尺寸指定相同的值. 当前,指定任何dilation_rate值!= 1与指定任何跨度值!= 1不兼容.
  • activation :要使用的激活功能(请参阅激活 ). 如果您未指定任何内容,则不应用任何激活(即"线性"激活: a(x) = x ).
  • use_bias :布尔值,层是否使用偏置向量.
  • kernel_initializerkernel权重矩阵的初始化程序 (请参阅initializers ).
  • bias_initializer :偏向向量的初始化器 (请参阅初始化器 ).
  • kernel_regularizer :将正则化函数应用到kernel权重矩阵(请参阅regularizer ).
  • bias_regularizer :将正则化函数应用于偏置向量(请参阅regularizer ).
  • activity_regularizer :将正则化函数应用于图层的输出(其"激活"). (请参阅正则化器 ).
  • kernel_constraint :应用于内核矩阵的约束函数(请参阅Constraints ).
  • bias_constraint :应用于偏差向量的约束函数(请参阅constraints ).

输入形状

5D张量与形状: (batch, channels, depth, rows, cols)如果data_format"channels_first"或5D张量与形状: (batch, depth, rows, cols, channels)如果data_format"channels_last"

输出形状

5D张量与形状: (batch, filters, new_depth, new_rows, new_cols)如果data_format"channels_first"或5D张量与形状: (batch, new_depth, new_rows, new_cols, filters)如果data_format"channels_last" depthrowscols值可能由于填充而发生了变化. 如果指定了output_padding ::

new_depth = ((depth - 1) * strides[0] + kernel_size[0]
             - 2 * padding[0] + output_padding[0])
new_rows = ((rows - 1) * strides[1] + kernel_size[1]
            - 2 * padding[1] + output_padding[1])
new_cols = ((cols - 1) * strides[2] + kernel_size[2]
            - 2 * padding[2] + output_padding[2])

References


[source]

Cropping1D

keras.layers.Cropping1D(cropping=(1, 1))

一维输入(例如时间序列)的裁剪层.

它沿时间维度(轴1)进行裁剪.

Arguments

  • 修剪 :int或int的元组(长度2)在修剪尺寸(轴1)的开始和结尾应修剪多少个单位. 如果提供单个int,则两个都将使用相同的值.

输入形状

具有形状的3D张量(batch, axis_to_crop, features)

输出形状

具有形状(batch, cropped_axis, features) 3D张量


[source]

Cropping2D

keras.layers.Cropping2D(cropping=((0, 0), (0, 0)), data_format=None)

2D输入的裁剪层(例如图片).

它沿着空间尺寸(即高度和宽度)进行裁剪.

Arguments

  • 裁剪 :int或2个int的元组,或2个int的2个元组的元组.
    • 如果为int:对高度和宽度应用相同的对称裁剪.
    • 如果元组为2 ints:解释为高度和宽度的两个不同的对称裁剪值: (symmetric_height_crop, symmetric_width_crop) .
    • 如果2个元组中2个整数的元组:解释为((top_crop, bottom_crop), (left_crop, right_crop))
  • data_format :字符串,是"channels_last""channels_first" . 输入中尺寸的顺序. "channels_last"对应于具有形状(batch, height, width, channels)输入,而"channels_first"对应于具有形状(batch, channels, height, width) . 它默认为在~/.keras/keras.json配置文件中找到的image_data_format值. 如果您从未设置,那么它将是" channels_last".

输入形状

具有以下形状的4D张量:-如果data_format"channels_last" :( (batch, rows, cols, channels) -如果data_format"channels_first" :( (batch, channels, rows, cols)

输出形状

具有以下形状的4D张量:-如果data_format"channels_last" :( (batch, cropped_rows, cropped_cols, channels) -如果data_format"channels_first" :( (batch, channels, cropped_rows, cropped_cols)

Examples

# Crop the input 2D images or feature maps
model = Sequential()
model.add(Cropping2D(cropping=((2, 2), (4, 4)),
                     input_shape=(28, 28, 3)))
# now model.output_shape == (None, 24, 20, 3)
model.add(Conv2D(64, (3, 3), padding='same'))
model.add(Cropping2D(cropping=((2, 2), (2, 2))))
# now model.output_shape == (None, 20, 16, 64)

[source]

Cropping3D

keras.layers.Cropping3D(cropping=((1, 1), (1, 1), (1, 1)), data_format=None)

3D数据的裁剪层(例如空间或时空).

Arguments

  • 裁剪 :整数,或3个整数的元组,或2个整数的3个元组的元组.
    • 如果为int:则将相同的对称裁剪应用于深度,高度和宽度.
    • 如果三元组的元组:解释为深度,高度和宽度的三个不同的对称裁剪值: (symmetric_dim1_crop, symmetric_dim2_crop, symmetric_dim3_crop) .
    • 如果2个整数的3个元组的元组:解释为((left_dim1_crop, right_dim1_crop), (left_dim2_crop, right_dim2_crop), (left_dim3_crop, right_dim3_crop))
  • data_format :字符串,是"channels_last""channels_first" . 输入中尺寸的顺序. "channels_last"对应于具有形状(batch, spatial_dim1, spatial_dim2, spatial_dim3, channels)输入,而"channels_first"对应于具有形状(batch, channels, spatial_dim1, spatial_dim2, spatial_dim3) . 它默认为在~/.keras/keras.json配置文件中找到的image_data_format值. 如果您从未设置,那么它将是" channels_last".

输入形状

具有以下形状的5D张量:-如果data_format"channels_last" :( (batch, first_axis_to_crop, second_axis_to_crop, third_axis_to_crop, depth) -如果data_format"channels_first" :( (batch, depth, first_axis_to_crop, second_axis_to_crop, third_axis_to_crop)

输出形状

具有以下形状的5D张量:-如果data_format"channels_last" :( (batch, first_cropped_axis, second_cropped_axis, third_cropped_axis, depth) -如果data_format"channels_first" :( (batch, depth, first_cropped_axis, second_cropped_axis, third_cropped_axis)


[source]

UpSampling1D

keras.layers.UpSampling1D(size=2)

一维输入的上采样层.

沿时间轴重复每个时间步长size的时间.

Arguments

  • 大小 :整数. 上采样系数.

输入形状

具有形状的3D张量:( (batch, steps, features) .

输出形状

具有以下形状的3D张量:( (batch, upsampled_steps, features) .


[source]

UpSampling2D

keras.layers.UpSampling2D(size=(2, 2), data_format=None, interpolation='nearest')

2D输入的上采样层.

分别按大小[0]和大小[1]重复数据的行和列.

Arguments

  • size: int, or tuple of 2 integers. The upsampling factors for rows and columns.
  • data_format :字符串,是"channels_last""channels_first" . 输入中尺寸的顺序. "channels_last"对应于具有形状(batch, height, width, channels)输入,而"channels_first"对应于具有形状(batch, channels, height, width) . 它默认为在~/.keras/keras.json配置文件中找到的image_data_format值. 如果您从未设置,那么它将是" channels_last".
  • 插值 :字符串, nearestbilinear . 请注意,CNTK尚不支持bilinear升序,并且对于Theano,仅size=(2, 2)是可能的.

输入形状

具有以下形状的4D张量:-如果data_format"channels_last" :( (batch, rows, cols, channels) -如果data_format"channels_first" :( (batch, channels, rows, cols)

输出形状

具有以下形状的4D张量:-如果data_format"channels_last" :( (batch, upsampled_rows, upsampled_cols, channels) -如果data_format"channels_first" :( (batch, channels, upsampled_rows, upsampled_cols)


[source]

UpSampling3D

keras.layers.UpSampling3D(size=(2, 2, 2), data_format=None)

Upsampling layer for 3D inputs.

分别按大小[0],大小[1]和大小[2]重复数据的第1,第2和第3维.

Arguments

  • size :int或3个整数的元组. dim1,dim2和dim3的上采样因子.
  • data_format :字符串,是"channels_last""channels_first" . 输入中尺寸的顺序. "channels_last"对应于具有形状(batch, spatial_dim1, spatial_dim2, spatial_dim3, channels)输入,而"channels_first"对应于具有形状(batch, channels, spatial_dim1, spatial_dim2, spatial_dim3) . 它默认为在~/.keras/keras.json配置文件中找到的image_data_format值. 如果您从未设置,那么它将是" channels_last".

输入形状

具有以下形状的5D张量:-如果data_format"channels_last" :( (batch, dim1, dim2, dim3, channels) -如果data_format"channels_first" :( (batch, channels, dim1, dim2, dim3)

输出形状

具有以下形状的5D张量:-如果data_format"channels_last" :( (batch, upsampled_dim1, upsampled_dim2, upsampled_dim3, channels) -如果data_format"channels_first" :( (batch, channels, upsampled_dim1, upsampled_dim2, upsampled_dim3)


[source]

ZeroPadding1D

keras.layers.ZeroPadding1D(padding=1)

一维输入(例如时间序列)的零填充层.

Arguments

  • padding :int或int的元组(长度2)或字典.

    • 如果是int:

    在填充尺寸(轴1)的开始和结尾处添加多少个零.

    • 如果是int元组(长度2):

    在填充尺寸的开头和结尾( (left_pad, right_pad) )要添加多少个零.

输入形状

具有形状的3D张量(batch, axis_to_pad, features)

输出形状

具有形状(batch, padded_axis, features) 3D张量


[source]

ZeroPadding2D

keras.layers.ZeroPadding2D(padding=(1, 1), data_format=None)

2D输入的零填充层(例如图片).

该层可以在图像张量的顶部,底部,左侧和右侧添加零行和列.

Arguments

  • padding :整数,或者2个整数的元组,或者2个整数的2个元组.
    • 如果为int,则将相同的对称填充应用于高度和宽度.
    • 如果元组为2 ints:解释为高度和宽度的两个不同的对称填充值: (symmetric_height_pad, symmetric_width_pad) .
    • 如果2个元组的2个整数的元组:解释为((top_pad, bottom_pad), (left_pad, right_pad))
  • data_format :字符串,是"channels_last""channels_first" . 输入中尺寸的顺序. "channels_last"对应于具有形状(batch, height, width, channels)输入,而"channels_first"对应于具有形状(batch, channels, height, width) . 它默认为在~/.keras/keras.json配置文件中找到的image_data_format值. 如果您从未设置,那么它将是" channels_last".

输入形状

具有以下形状的4D张量:-如果data_format"channels_last" :( (batch, rows, cols, channels) -如果data_format"channels_first" :( (batch, channels, rows, cols)

输出形状

具有以下形状的4D张量:-如果data_format"channels_last" :( (batch, padded_rows, padded_cols, channels) -如果data_format"channels_first" :( (batch, channels, padded_rows, padded_cols)


[source]

ZeroPadding3D

keras.layers.ZeroPadding3D(padding=(1, 1, 1), data_format=None)

3D数据(空间或时空)的零填充层.

Arguments

  • padding :int或3个整数的元组,或3个2个整数的元组.
    • 如果为int,则将相同的对称填充应用于高度和宽度.
    • 如果三元组的元组:解释为深度,高度和宽度的三个不同的对称填充值: (symmetric_dim1_pad, symmetric_dim2_pad, symmetric_dim3_pad) .
    • 如果3个元组为2个整数的元组:解释为((left_dim1_pad, right_dim1_pad), (left_dim2_pad, right_dim2_pad), (left_dim3_pad, right_dim3_pad))
  • data_format :字符串,是"channels_last""channels_first" . 输入中尺寸的顺序. "channels_last"对应于具有形状(batch, spatial_dim1, spatial_dim2, spatial_dim3, channels)输入,而"channels_first"对应于具有形状(batch, channels, spatial_dim1, spatial_dim2, spatial_dim3) . 它默认为在~/.keras/keras.json配置文件中找到的image_data_format值. 如果您从未设置,那么它将是" channels_last".

输入形状

具有以下形状的5D张量:-如果data_format"channels_last" :( (batch, first_axis_to_pad, second_axis_to_pad, third_axis_to_pad, depth) -如果data_format"channels_first" :( (batch, depth, first_axis_to_pad, second_axis_to_pad, third_axis_to_pad)

输出形状

具有以下形状的5D张量:-如果data_format"channels_last" :( (batch, first_padded_axis, second_padded_axis, third_axis_to_pad, depth) -如果data_format"channels_first" :( (batch, depth, first_padded_axis, second_padded_axis, third_axis_to_pad)