1. 程式人生 > 實用技巧 >PyTorch中AdaptiveAvgPool函式用法及原理解析

PyTorch中AdaptiveAvgPool函式用法及原理解析

自適應1D池化(AdaptiveAvgPool1d):

對輸入訊號,提供1維的自適應平均池化操作 對於任何輸入大小的輸入,可以將輸出尺寸指定為H*W,但是輸入和輸出特徵的數目不會變化。
torch.nn.AdaptiveAvgPool1d(output_size)
#output_size:輸出尺寸
# target output size of 5
m = nn.AdaptiveAvgPool1d(5)
input = autograd.Variable(torch.randn(1, 64, 8))
output = m(input)

自適應2D池化(AdaptiveAvgPool2d):

對輸入訊號,提供2維的自適應平均池化操作 對於任何輸入大小的輸入,可以將輸出尺寸指定為H*W,但是輸入和輸出特徵的數目不會變化。

class torch.nn.AdaptiveAvgPool2d(output_size)

引數:

  • output_size: 輸出訊號的尺寸,可以用(H,W)表示H*W的輸出,也可以使用耽擱數字H表示H*H大小的輸出
# target output size of 5x7
m = nn.AdaptiveAvgPool2d((5,7))
input = autograd.Variable(torch.randn(1, 64, 8, 9))
# target output size of 7x7 (square)
m = nn.AdaptiveAvgPool2d(7) input = autograd.Variable(torch.randn(1, 64, 10, 9)) output = m(input)

自適應池化的數學解釋:

來源於:傳送門

來源:https://blog.csdn.net/qq_41997920/article/details/98963215