FractionalMaxPool3d¶
- class torch.nn.FractionalMaxPool3d(kernel_size, output_size=None, output_ratio=None, return_indices=False, _random_samples=None)[source][source]¶
對由多個輸入平面組成的輸入訊號應用 3D 分數最大池化 (fractional max pooling)。
分數最大池化 (Fractional MaxPooling) 的詳細說明請參閱 Ben Graham 的論文 Fractional MaxPooling。
最大池化操作在 區域中執行,步長大小由目標輸出大小決定。 輸出特徵的數量等於輸入平面的數量。
注意
必須定義
output_size
或output_ratio
其中之一。- 參數
kernel_size (Union[int, Tuple[int, int, int]]) – 用於執行最大值的窗口大小。 可以是單個數字 k(表示 k x k x k 的方形核心)或元組 (kt x kh x kw)
output_size (Union[int, Tuple[int, int, int]]) – 圖像的目標輸出大小,格式為 oT x oH x oW。 可以是元組 (oT, oH, oW) 或單個數字 oH(表示 oH x oH x oH 的正方形圖像)
output_ratio (Union[float, Tuple[float, float, float]]) – 如果希望輸出大小為輸入大小的比率,則可以給定此選項。 這必須是 (0, 1) 範圍內的數字或元組
return_indices (bool) – 如果
True
,將返回索引以及輸出。 適用於傳遞給nn.MaxUnpool3d()
。 預設值:False
- 形狀
輸入: 或是 。
Output: or , where or
範例
>>> # pool of cubic window of size=3, and target output size 13x12x11 >>> m = nn.FractionalMaxPool3d(3, output_size=(13, 12, 11)) >>> # pool of cubic window and target output size being half of input size >>> m = nn.FractionalMaxPool3d(3, output_ratio=(0.5, 0.5, 0.5)) >>> input = torch.randn(20, 16, 50, 32, 16) >>> output = m(input)