作用:池化操作用于减少卷积神经网络中特征的数据量。
方法:
主要包含最大池化和均值池化。
1)最大池化
可以提取图片纹理
2)均值池化
保留背景特征
TF2描述:
1)最大池化
tf.keras.layers.MaxPool2D(
pool_size = 池化核尺寸,# 写一个元组(核高,核宽)高宽一致时可写成整数
strides = 池化步长, # 写一个元组(核高,核宽)高宽一致时可写成整数,默认值为pool_size
padding = 'valid' or 'same' # 使用全零填充是same,不适用是valid(默认)
)
2)均值池化
tf.keras.layers.AveragePooling2D(
pool_size = 池化核尺寸,# 写一个元组(核高,核宽)高宽一致时可写成整数
strides = 池化步长, # 写一个元组(核高,核宽)高宽一致时可写成整数,默认值为pool_size
padding = 'valid' or 'same' # 使用全零填充是same,不适用是valid(默认)
)
实例:
1 model = tf.keras.models.Sequential( 2 Conv2D(filter=6, kernel_size=(5, 5), padding='same'), # 卷积层 3 BatchNormalization(), # BN层 4 Activation('relu'), # 激活函数 5 MaxPool2D(pool_size=(2, 2), strides=2, padding='same'), # 池化层 6 Dropout(0.2) # dropout层 7 )