AvgPool3d¶
- class torch.nn.AvgPool3d(kernel_size, stride=None, padding=0, ceil_mode=False, count_include_pad=True, divisor_override=None)[source][source]¶
對由多個輸入平面組成的輸入訊號,應用 3D 平均池化。
在最簡單的情況下,輸入大小為 ,輸出為 ,且
kernel_size
為 時,可以精確地描述為如果
padding
非零,則輸入在所有三個邊上會隱式地進行零填充,填充的點數為padding
的值。注意
當 ceil_mode=True 時,如果滑動視窗從左側填充區或輸入內部開始,則允許滑動視窗超出邊界。將忽略從右側填充區域開始的滑動視窗。
參數
kernel_size
,stride
可以是:單一
int
– 在這種情況下,深度、高度和寬度維度使用相同的值三個
int
的tuple
– 在這種情況下,第一個 int 用於深度維度,第二個 int 用於高度維度,第三個 int 用於寬度維度
- 參數
stride (Union[int, Tuple[int, int, int]]) – 視窗的步幅。預設值為
kernel_size
padding (Union[int, Tuple[int, int, int]]) – 要在所有三個邊上添加的隱式零填充 (implicit zero padding)。
ceil_mode (bool) – 如果為 True,將使用 ceil 而不是 floor 來計算輸出形狀。
count_include_pad (bool) – 如果為 True,則在平均計算中包含零填充。
divisor_override (Optional[int]) – 如果指定,它將用作除數,否則將使用
kernel_size
。
- 形狀
輸入: 或 。
輸出: 或 ,其中
如上述註記,如果
ceil_mode
為 True 且 ,我們會跳過最後一個窗口,因為它會從 padding 區域開始,導致 減一。同樣適用於 和 。
範例
>>> # pool of square window of size=3, stride=2 >>> m = nn.AvgPool3d(3, stride=2) >>> # pool of non-square window >>> m = nn.AvgPool3d((3, 2, 2), stride=(2, 1, 2)) >>> input = torch.randn(20, 16, 50, 44, 31) >>> output = m(input)