MaxUnpool3d#
- class torch.nn.modules.pooling.MaxUnpool3d(kernel_size, stride=None, padding=0)[原始碼]#
計算
MaxPool3d的部分逆運算。MaxPool3d不是完全可逆的,因為非最大值會丟失。MaxUnpool3d以MaxPool3d的輸出(包括最大值的索引)作為輸入,並計算一個部分逆運算,其中所有非最大值都設定為零。注意
當輸入索引存在重複值時,此操作可能表現出非確定性。更多資訊請參閱 pytorch/pytorch#80827 和 可復現性。
注意
MaxPool3d可以將多個輸入大小對映到相同的大小。因此,逆運算過程可能會變得不確定。為了適應這種情況,您可以在前向呼叫中將所需的輸出大小作為附加引數output_size提供。請參閱下面的“輸入”部分。- 引數
- 輸入
input: the input Tensor to invert
indices: 由
MaxPool3d給出的索引。output_size (optional): the targeted output size
- 形狀
輸入: 或 。
輸出: 或 ,其中
or as given by
output_sizein the call operator
示例
>>> # pool of square window of size=3, stride=2 >>> pool = nn.MaxPool3d(3, stride=2, return_indices=True) >>> unpool = nn.MaxUnpool3d(3, stride=2) >>> output, indices = pool(torch.randn(20, 16, 51, 33, 15)) >>> unpooled_output = unpool(output, indices) >>> unpooled_output.size() torch.Size([20, 16, 51, 33, 15])