MaxPooling3D
類別keras.layers.MaxPooling3D(
pool_size=(2, 2, 2),
strides=None,
padding="valid",
data_format=None,
name=None,
**kwargs
)
用於 3D 資料(空間或時空)的最大池化操作。
透過在輸入的每個通道上,針對輸入視窗(大小由 pool_size
定義)取最大值,來沿著空間維度(深度、高度和寬度)對輸入進行降採樣。視窗沿著每個維度移動 strides
步長。
參數
pool_size
。如果僅指定一個整數,則所有維度將使用相同的步長大小。"valid"
或 "same"
(不區分大小寫)。"valid"
表示不填充。"same"
會均勻地在輸入的左/右或上/下填充,使輸出具有與輸入相同的高度/寬度維度。"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"
:5D 張量,形狀為:(batch_size, spatial_dim1, spatial_dim2, spatial_dim3, channels)
data_format="channels_first"
:5D 張量,形狀為:(batch_size, channels, spatial_dim1, spatial_dim2, spatial_dim3)
輸出形狀
data_format="channels_last"
:5D 張量,形狀為:(batch_size, pooled_dim1, pooled_dim2, pooled_dim3, channels)
data_format="channels_first"
:5D 張量,形狀為:(batch_size, channels, pooled_dim1, pooled_dim2, pooled_dim3)
範例
depth = 30
height = 30
width = 30
channels = 3
inputs = keras.layers.Input(shape=(depth, height, width, channels))
layer = keras.layers.MaxPooling3D(pool_size=3)
outputs = layer(inputs) # Shape: (batch_size, 10, 10, 10, 3)