MaxPooling3D
類別tf_keras.layers.MaxPooling3D(
pool_size=(2, 2, 2), strides=None, padding="valid", data_format=None, **kwargs
)
用於 3D 資料(空間或時空)的最大池化操作。
透過在輸入的每個通道的輸入視窗(大小由 pool_size
定義)中取最大值,來沿著其空間維度(深度、高度和寬度)對輸入進行降採樣。視窗會沿每個維度依 strides
移動。
參數
(2, 2, 2)
會使 3D 輸入在每個維度上的大小減半。"valid"
或 "same"
(不區分大小寫) 其中之一。"valid"
表示不填充。"same"
會導致均勻地在輸入的左/右或上/下填充,以便輸出具有與輸入相同的高度/寬度維度。channels_last
(預設) 或 channels_first
其中之一。輸入中維度的順序。channels_last
對應於形狀為 (批次, spatial_dim1, spatial_dim2, spatial_dim3, 通道)
的輸入,而 channels_first
對應於形狀為 (批次, 通道, spatial_dim1, spatial_dim2, spatial_dim3)
的輸入。如果未指定,則使用在您的 TF-Keras 組態檔案 ~/.keras/keras.json
(如果存在) 中找到的 image_data_format
值,否則使用 'channels_last'。預設為 '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
input_channels = 3
inputs = tf.keras.Input(shape=(depth, height, width, input_channels))
layer = tf.keras.layers.MaxPooling3D(pool_size=3)
outputs = layer(inputs) # Shape: (batch_size, 10, 10, 10, 3)