6.4 池化层 Pooling Layers

优质
小牛编辑
136浏览
2023-12-01

[source]

MaxPooling1D

keras.layers.MaxPooling1D(pool_size=2, strides=None, padding='valid', data_format='channels_last')

对于时序数据的最大池化。

参数

  • pool_size: 整数,最大池化的窗口大小。
  • strides: 整数,或者是 None。作为缩小比例的因数。 例如,2 会使得输入张量缩小一半。 如果是 None,那么默认值是 pool_size
  • padding: "valid" 或者 "same" (区分大小写)。
  • data_format: 字符串,channels_last (默认)或 channels_first 之一。 表示输入各维度的顺序。 channels_last 对应输入尺寸为 (batch, steps, features)channels_first 对应输入尺寸为 (batch, features, steps)

输入尺寸

  • 如果 data_format='channels_last', 输入为 3D 张量,尺寸为: (batch_size, steps, features)
  • 如果data_format='channels_first', 输入为 3D 张量,尺寸为: (batch_size, features, steps)

输出尺寸

  • 如果 data_format='channels_last', 输出为 3D 张量,尺寸为: (batch_size, downsampled_steps, features)
  • 如果 data_format='channels_first', 输出为 3D 张量,尺寸为: (batch_size, features, downsampled_steps)

[source]

MaxPooling2D

keras.layers.MaxPooling2D(pool_size=(2, 2), strides=None, padding='valid', data_format=None)

对于空间数据的最大池化。

参数

  • pool_size: 整数,或者 2 个整数表示的元组, 沿(垂直,水平)方向缩小比例的因数。 (2,2)会把输入张量的两个维度都缩小一半。 如果只使用一个整数,那么两个维度都会使用同样的窗口长度。
  • strides: 整数,2 个整数表示的元组,或者是 None。 表示步长值。 如果是 None,那么默认值是 pool_size
  • 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"。

输入尺寸

  • 如果 data_format='channels_last': 尺寸是 (batch_size, rows, cols, channels) 的 4D 张量
  • 如果 data_format='channels_first': 尺寸是 (batch_size, channels, rows, cols) 的 4D 张量

输出尺寸

  • 如果 data_format='channels_last': 尺寸是 (batch_size, pooled_rows, pooled_cols, channels) 的 4D 张量
  • 如果 data_format='channels_first': 尺寸是 (batch_size, channels, pooled_rows, pooled_cols) 的 4D 张量

[source]

MaxPooling3D

keras.layers.MaxPooling3D(pool_size=(2, 2, 2), strides=None, padding='valid', data_format=None)

对于 3D(空间,或时空间)数据的最大池化。

参数

  • pool_size: 3 个整数表示的元组,缩小(dim1,dim2,dim3)比例的因数。 (2, 2, 2) 会把 3D 输入张量的每个维度缩小一半。
  • strides: 3 个整数表示的元组,或者是 None。步长值。
  • padding: "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/keras.json 中的 image_data_format 值来设置。 如果还没有设置过,那么默认值就是 "channels_last"。

输入尺寸

  • 如果 data_format='channels_last': 尺寸是 (batch_size, spatial_dim1, spatial_dim2, spatial_dim3, channels) 的 5D 张量
  • 如果 data_format='channels_first': 尺寸是 (batch_size, channels, spatial_dim1, spatial_dim2, spatial_dim3) 的 5D 张量

输出尺寸

  • 如果 data_format='channels_last': 尺寸是 (batch_size, pooled_dim1, pooled_dim2, pooled_dim3, channels) 的 5D 张量
  • 如果 data_format='channels_first': 尺寸是 (batch_size, channels, pooled_dim1, pooled_dim2, pooled_dim3) 的 5D 张量

[source]

AveragePooling1D

keras.layers.AveragePooling1D(pool_size=2, strides=None, padding='valid', data_format='channels_last')

对于时序数据的平均池化。

参数

  • pool_size: 整数,平均池化的窗口大小。
  • strides: 整数,或者是 None。作为缩小比例的因数。 例如,2 会使得输入张量缩小一半。 如果是 None,那么默认值是 pool_size
  • padding: "valid" 或者 "same" (区分大小写)。
  • data_format: 字符串,channels_last (默认)或 channels_first 之一。 表示输入各维度的顺序。 channels_last 对应输入尺寸为 (batch, steps, features)channels_first 对应输入尺寸为 (batch, features, steps)

输入尺寸

  • 如果 data_format='channels_last', 输入为 3D 张量,尺寸为: (batch_size, steps, features)
  • 如果data_format='channels_first', 输入为 3D 张量,尺寸为: (batch_size, features, steps)

输出尺寸

  • 如果 data_format='channels_last', 输出为 3D 张量,尺寸为: (batch_size, downsampled_steps, features)
  • 如果 data_format='channels_first', 输出为 3D 张量,尺寸为: (batch_size, features, downsampled_steps)

[source]

AveragePooling2D

keras.layers.AveragePooling2D(pool_size=(2, 2), strides=None, padding='valid', data_format=None)

对于空间数据的平均池化。

参数

  • pool_size: 整数,或者 2 个整数表示的元组, 沿(垂直,水平)方向缩小比例的因数。 (2,2)会把输入张量的两个维度都缩小一半。 如果只使用一个整数,那么两个维度都会使用同样的窗口长度。
  • strides: 整数,2 个整数表示的元组,或者是 None。 表示步长值。 如果是 None,那么默认值是 pool_size
  • 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"。

输入尺寸

  • 如果 data_format='channels_last': 尺寸是 (batch_size, rows, cols, channels) 的 4D 张量
  • 如果 data_format='channels_first': 尺寸是 (batch_size, channels, rows, cols) 的 4D 张量

输出尺寸

  • 如果 data_format='channels_last': 尺寸是 (batch_size, pooled_rows, pooled_cols, channels) 的 4D 张量
  • 如果 data_format='channels_first': 尺寸是 (batch_size, channels, pooled_rows, pooled_cols) 的 4D 张量

[source]

AveragePooling3D

keras.layers.AveragePooling3D(pool_size=(2, 2, 2), strides=None, padding='valid', data_format=None)

对于 3D (空间,或者时空间)数据的平均池化。

参数

  • pool_size: 3 个整数表示的元组,缩小(dim1,dim2,dim3)比例的因数。 (2, 2, 2) 会把 3D 输入张量的每个维度缩小一半。
  • strides: 3 个整数表示的元组,或者是 None。步长值。
  • padding: "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/keras.json 中的 image_data_format 值来设置。 如果还没有设置过,那么默认值就是 "channels_last"。

输入尺寸

  • 如果 data_format='channels_last': 尺寸是 (batch_size, spatial_dim1, spatial_dim2, spatial_dim3, channels) 的 5D 张量
  • 如果 data_format='channels_first': 尺寸是 (batch_size, channels, spatial_dim1, spatial_dim2, spatial_dim3) 的 5D 张量

输出尺寸

  • 如果 data_format='channels_last': 尺寸是 (batch_size, pooled_dim1, pooled_dim2, pooled_dim3, channels) 的 5D 张量
  • 如果 data_format='channels_first': 尺寸是 (batch_size, channels, pooled_dim1, pooled_dim2, pooled_dim3) 的 5D 张量

[source]

GlobalMaxPooling1D

keras.layers.GlobalMaxPooling1D(data_format='channels_last')

对于时序数据的全局最大池化。

参数

  • data_format: 字符串,channels_last (默认)或 channels_first 之一。 表示输入各维度的顺序。 channels_last 对应输入尺寸为 (batch, steps, features)channels_first 对应输入尺寸为 (batch, features, steps)

输入尺寸

尺寸是 (batch_size, steps, features) 的 3D 张量。

输出尺寸

尺寸是 (batch_size, features) 的 2D 张量。


[source]

GlobalAveragePooling1D

keras.layers.GlobalAveragePooling1D()

对于时序数据的全局平均池化。

输入尺寸

  • 如果 data_format='channels_last', 输入为 3D 张量,尺寸为: (batch_size, steps, features)
  • 如果data_format='channels_first', 输入为 3D 张量,尺寸为: (batch_size, features, steps)

输出尺寸

尺寸是 (batch_size, features) 的 2D 张量。


[source]

GlobalMaxPooling2D

keras.layers.GlobalMaxPooling2D(data_format=None)

对于空域数据的全局最大池化。

参数

  • 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"。

输入尺寸

  • 如果 data_format='channels_last': 尺寸是 (batch_size, rows, cols, channels) 的 4D 张量
  • 如果 data_format='channels_first': 尺寸是 (batch_size, channels, rows, cols) 的 4D 张量

输出尺寸

尺寸是 (batch_size, channels) 的 2D 张量


[source]

GlobalAveragePooling2D

keras.layers.GlobalAveragePooling2D(data_format=None)

对于空域数据的全局平均池化。

参数

  • 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"。

输入尺寸

  • 如果 data_format='channels_last': 尺寸是 (batch_size, rows, cols, channels) 的 4D 张量
  • 如果 data_format='channels_first': 尺寸是 (batch_size, channels, rows, cols) 的 4D 张量

输出尺寸

尺寸是 (batch_size, channels) 的 2D 张量


[source]

GlobalMaxPooling3D

keras.layers.GlobalMaxPooling3D(data_format=None)

对于 3D 数据的全局最大池化。

参数

  • 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/keras.json 中的 image_data_format 值来设置。 如果还没有设置过,那么默认值就是 "channels_last"。

输入尺寸

  • 如果 data_format='channels_last': 尺寸是 (batch_size, spatial_dim1, spatial_dim2, spatial_dim3, channels) 的 5D 张量
  • 如果 data_format='channels_first': 尺寸是 (batch_size, channels, spatial_dim1, spatial_dim2, spatial_dim3) 的 5D 张量

输出尺寸

尺寸是 (batch_size, channels) 的 2D 张量


[source]

GlobalAveragePooling3D

keras.layers.GlobalAveragePooling3D(data_format=None)

对于 3D 数据的全局平均池化。

参数

  • 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/keras.json 中的 image_data_format 值来设置。 如果还没有设置过,那么默认值就是 "channels_last"。

输入尺寸

  • 如果 data_format='channels_last': 尺寸是 (batch_size, spatial_dim1, spatial_dim2, spatial_dim3, channels) 的 5D 张量
  • 如果 data_format='channels_first': 尺寸是 (batch_size, channels, spatial_dim1, spatial_dim2, spatial_dim3) 的 5D 张量

输出尺寸

尺寸是 (batch_size, channels) 的 2D 张量