2D-durchschnittliche Pooling-Schicht
keras.layers.AveragePooling2D(pool_size=(2, 2),
strides=None,
padding='valid',
data_format=None)
Detaillierte Parameter
- pool_size : Pooling-Fenstergröße
- Schritte : Der Pooling-Schritt, der Standardwert ist gleich
pool_size
- padding : '
VALID
' oder ' SAME
', ' VALID
' bedeutet kein Auffüllen, ' SAME
' bedeutet Auffüllen mit 0
- data_format : Gibt die Dimensionsreihenfolge des Eingabetensors an. Der Standardwert ist [Batch, Höhe, Breite, Kanal].
Beispiel
from tensorflow.keras.layers import AveragePooling2D
import tensorflow as tf
import numpy as np
# 定义一个平均池化层,用0填充
pool1 = AveragePooling2D(pool_size=(2, 2),
strides=None,
padding='SAME',
data_format=None)
# 定义一个平均池化层,不填充
pool2 = AveragePooling2D(pool_size=(2, 2),
strides=None,
padding='VALID',
data_format=None)
# 生成一个维度为[64, 101, 101, 3]的矩阵
x = np.random.random((64, 101, 101, 3))
# 转成tensor类型,第一个维度64表示batch
# numpy中的数据类型和tensorflow中的数据类型完全兼容,所以这一步可以省略
x = tf.convert_to_tensor(x)
print(x.shape) # [64, 101, 101, 3]
# 进行平均池化
y1 = pool1(x)
print(y1.shape) # [64, 51, 51, 3]
# 进行平均池化
y2 = pool2(x)
print(y2.shape) # [64, 50, 50, 3]