之前有疑惑deeplab中ASPP(Atrous Spatial Pyramid Pooling) 采用多尺度空洞卷积+GAP并联提取多尺度语义信息时,GAP得到的结果是一维的,而空洞卷积得到的结果时二维的,不知道其中的细节是怎么操作从而实现并联的
查资料+看源码
资料
https://sthalles.github.io/deep_segmentation_network/写到
为了增加全局信息,ASPP先对feature map 进行GAP,然后对GAP结果使用256个1*1 卷积,最后使用双线性差值
小实验
import torch.nn as nn
import torch
import torch.nn.functional as F
input = torch.randn(1,2,3,3)
print(input)
global_avg_pool = nn.Sequential(nn.AdaptiveAvgPool2d((1, 1)),
nn.Conv2d(2, 4, 1, stride=1, bias=False)