池化层

2024 年 8 月 28 日 | 阅读 9 分钟

MaxPooling1D

此层对时间数据执行最大池化操作。

参数

  • pool_size: 指池化窗口的大小,一个整数。
  • strides: 可以是整数或 None,表示下采样的因子。例如,2 会将输入减半。如果设置为 None,则默认为 pool_size
  • padding: 区分大小写,取值为 "valid""same" 之一。
  • data_format: 可以是字符串 "channels_last""channels_first",表示输入维度的顺序。对于 Keras 中的时间数据,"channels_last" 是默认格式,对应输入形状 (batch, steps, features)。而 "channels_first" 用于输入形状 (batch, features, steps)

输入形状

如果 data_format"channels_first",则 3D 张量的输入形状为 (batch_size, features, steps);如果 data_format"channels_last",则 3D 张量的输入形状为 (batch_size, steps, features)

输出形状

如果 data_format"channels_first",则 3D 张量的输出形状为 (batch_size, features, downsampled_steps);如果 data_format 是 "channels_last",则 3D 张量的输出形状为 (batch_size, downsampled_steps, features)

MaxPooling2D

二维最大池化层对空间数据执行最大池化操作。

参数

  • 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.jsonimage_data_format 值。如果在此文件夹中找不到,则默认为 "channels_last"。

输入形状

如果 data_format"channels_first",则 4D 张量的输入形状为 (batch_size, channels, rows, cols);如果 data_format"channels_last",则 4D 张量的输入形状为 (batch_size, rows, cols, channels)

输出形状

如果 data_format"channels_first",则 4D 张量的输出形状为 (batch_size, channels, pooled_rows, pooled_cols);如果 data_format 是 "channels_last",则 4D 张量的输出形状为 (batch_size, pooled_rows, pooled_cols, channels)

MaxPooling3D

三维最大池化层对三维数据(如空间或时空数据)执行最大池化操作。

参数

  • pool_size: 指池化窗口的大小,一个包含 3 个整数的元组,表示下采样的因子(dim1, dim2, dim3),例如 (2, 2, 2) 会将三维输入在每个维度上都减半。
  • 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.jsonimage_data_format 值。如果在此文件夹中找不到,则默认为 "channels_last"。
  • 输入形状

如果 data_format"channels_first",则 5D 张量的输入形状为 (batch_size, channels, spatial_dim1, spatial_dim2, spatial_dim3);如果 data_format"channels_last",则 5D 张量的输入形状为 (batch_size, spatial_dim1, spatial_dim2, spatial_dim3, channels)

输出形状

如果 data_format"channels_first",则 5D 张量的输出形状为 (batch_size, channels, pooled_dim1, pooled_dim2, pooled_dim3);如果 data_format 是 "channels_last",则 5D 张量的输出形状为 (batch_size, pooled_dim1, pooled_dim2, pooled_dim3, channels)

AveragePooling1D

此层对时间数据执行平均池化。

参数

  • pool_size: 指池化窗口的大小,一个整数。
  • strides: 可以是整数或 None,表示下采样的因子。例如,2 会将输入减半。如果选择 None,则默认为 pool_size
  • padding: 区分大小写,取值为 "valid""same" 之一。
  • data_format: 可以是字符串 "channels_last""channels_first",表示输入维度的顺序。对于 Keras 中的时间数据,"channels_last" 是默认格式,对应输入形状 (batch, steps, features)。而 "channels_first" 用于输入形状 (batch, features, steps)

输入形状

如果 data_format"channels_first",则 3D 张量的输入形状为 (batch_size, features, steps);如果 data_format"channels_last",则 3D 张量的输入形状为 (batch_size, steps, features)

输出形状

如果 data_format"channels_first",则 3D 张量的输出形状为 (batch_size, features, downsampled_steps);如果 data_format 是 "channels_last",则 3D 张量的输出形状为 (batch_size, downsampled_steps, features)

AveragePooling2D

对空间数据执行平均池化。

参数

  • 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.jsonimage_data_format 值。如果在此文件夹中找不到,则它位于 "channels_last"。

输入形状

如果 data_format"channels_first",则 4D 张量的输入形状为 (batch_size, channels, rows, cols);如果 data_format"channels_last",则 4D 张量的输入形状为 (batch_size, rows, cols, channels)

输出形状

如果 data_format"channels_first",则 4D 张量的输出形状为 (batch_size, channels, pooled_rows, pooled_cols);如果 data_format 是 "channels_last",则 4D 张量的输出形状为 (batch_size, pooled_rows, pooled_cols, channels)

AveragePooling3D

对三维数据(如时空或空间数据)执行平均池化操作。

参数

  • pool_size: 指池化窗口的大小,一个包含 3 个整数的元组,表示下采样的因子(dim1, dim2, dim3),例如 (2, 2, 2) 会将三维输入在每个维度上都减半。
  • 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.jsonimage_data_format 值。如果在此文件夹中找不到,则它位于 "channels_last"。

输入形状

如果 data_format"channels_first",则 5D 张量的输入形状为 (batch_size, channels, spatial_dim1, spatial_dim2, spatial_dim3);如果 data_format"channels_last",则 5D 张量的输入形状为 (batch_size, spatial_dim1, spatial_dim2, spatial_dim3, channels)

输出形状

如果 data_format"channels_first",则 5D 张量的输出形状为 (batch_size, channels, pooled_dim1, pooled_dim2, pooled_dim3);如果 data_format 是 "channels_last",则 5D 张量的输出形状为 (batch_size, pooled_dim1, pooled_dim2, pooled_dim3, channels)

GlobalMaxPooling1D

对时间数据执行全局最大池化操作。

参数

  • data_format: 可以是字符串 "channels_last""channels_first",表示输入维度的顺序。对于 Keras 中的时间数据,"channels_last" 是默认格式,对应输入形状 (batch, steps, features)。而 "channels_first" 用于输入形状 (batch, features, steps)。它默认为 Keras 配置中 ~/.keras/keras.jsonimage_data_format 值。如果在此文件夹中找不到,则它位于 "channels_last"。

输入形状

如果 data_format"channels_first",则 3D 张量的输入形状为 (batch_size, features, steps);如果 data_format"channels_last",则 3D 张量的输入形状为 (batch_size, steps, features)

输出形状

这是一个形状为 (batch_size, features) 的 2D 张量。

GlobalAveragePooling1D

对时间数据执行全局平均池化操作。

参数

  • data_format: 可以是字符串 "channels_last""channels_first",表示输入维度的顺序。对于 Keras 中的时间数据,"channels_last" 是默认格式,对应输入形状 (batch, steps, features)。而 "channels_first" 用于输入形状 (batch, features, steps)

输入形状

如果 data_format"channels_first",则 3D 张量的输入形状为 (batch_size, features, steps);如果 data_format"channels_last",则 3D 张量的输入形状为 (batch_size, steps, features)

输出形状

这是一个形状为 (batch_size, features) 的 2D 张量。

GlobalMaxPooling2D

对空间数据执行全局最大池化操作。

参数

  • data_format: 可以是字符串 "channels_last""channels_first",表示输入维度的顺序。"channels_last" 对应输入形状 (batch, height, width, channels),而 "channels_first" 用于输入形状 (batch, channels, height, width)。它默认为 Keras 配置中 ~/.keras/keras.jsonimage_data_format 值。如果在此文件夹中找不到,则它位于 "channels_last"。

输入形状

如果 data_format"channels_first",则 4D 张量的输入形状为 (batch_size, channels, rows, cols);如果 data_format"channels_last",则 4D 张量的输入形状为 (batch_size, rows, cols, channels)

输出形状

这是一个形状为 (batch_size, features) 的 2D 张量。

GlobalAveragePooling2D

对空间数据执行全局平均池化操作。

参数

  • data_format: 可以是字符串 "channels_last""channels_first",表示输入维度的顺序。"channels_last" 对应输入形状 (batch, height, width, channels),而 "channels_first" 用于输入形状 (batch, channels, height, width)。它默认为 Keras 配置中 ~/.keras/keras.jsonimage_data_format 值。如果在此文件夹中找不到,则它位于 "channels_last"。

输入形状

如果 data_format"channels_first",则 4D 张量的输入形状为 (batch_size, channels, rows, cols);如果 data_format"channels_last",则 4D 张量的输入形状为 (batch_size, rows, cols, channels)

输出形状

这是一个形状为 (batch_size, features) 的 2D 张量。

GlobalMaxPooling3D

对三维数据执行全局最大池化操作。

参数

  • 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.jsonimage_data_format 值。如果在此文件夹中找不到,则它位于 "channels_last"。

输入形状

如果 data_format"channels_first",则 5D 张量的输入形状为 (batch_size, channels, spatial_dim1, spatial_dim2, spatial_dim3);如果 data_format"channels_last",则 5D 张量的输入形状为 (batch_size, spatial_dim1, spatial_dim2, spatial_dim3, channels)

输出形状

这是一个形状为 (batch_size, features) 的 2D 张量。

GlobalAveragePooling3D

对三维数据执行全局平均池化操作。

参数

  • 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.jsonimage_data_format 值。如果在此文件夹中找不到,则它位于 "channels_last"。

输入形状

如果 data_format"channels_first",则 5D 张量的输入形状为 (batch_size, channels, spatial_dim1, spatial_dim2, spatial_dim3);如果 data_format"channels_last",则 5D 张量的输入形状为 (batch_size, spatial_dim1, spatial_dim2, spatial_dim3, channels)

输出形状

这是一个形状为 (batch_size, features) 的 2D 张量。