pytorch GlobalAveragePolling(GAP)

GAP是對每一個通道的像素求平均,假如現在的特徵圖的shape爲[B,C,H,W],經過GAP後shape變爲[B,C,1,1]

a = torch.rand([2,3,2,2])
b = torch.nn.functional.adaptive_avg_pool2d(a, (1,1))

print(a)
print('='*20)
print(b.shape)
print('='*20)
print(b)

輸出:

tensor([[[[0.5518, 0.6697],
          [0.4898, 0.1786]],

         [[0.3390, 0.1858],
          [0.7031, 0.5582]],

         [[0.1057, 0.1580],
          [0.6115, 0.2390]]],


        [[[0.0314, 0.8759],
          [0.4711, 0.4389]],

         [[0.0518, 0.8938],
          [0.0760, 0.2660]],

         [[0.8500, 0.5687],
          [0.7343, 0.2391]]]])
====================
torch.Size([2, 3, 1, 1])
====================
tensor([[[[0.4725]],

         [[0.4465]],

         [[0.2786]]],


        [[[0.4543]],

         [[0.3219]],

         [[0.5980]]]])

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章