murufeng / EPSANet

MIT License
274 stars 48 forks source link

论文中的SeWeight的含义? #1

Closed Senwang98 closed 3 years ago

Senwang98 commented 3 years ago

你好 刚刚在公众号看到你们的论文,对于多尺度特征,可不可以理解为Fi单独送到SE?也就是说SE最后的sigmod在你这边是单独绘图的,前面的两层conv与relu是你论文中所述的SEWeight?

self.SEWeight = nn.Sequential(
            nn.Conv2d(channel, channel // reduction, 1, padding=0, bias=True),
            nn.ReLU(inplace=True),
            nn.Conv2d(channel // reduction, channel, 1, padding=0, bias=True),
            #nn.Sigmoid()
        )
murufeng commented 3 years ago

我们是针对每个不同尺度的特征图计算SEweight,SEweight module代码见:https://github.com/murufeng/EPSANet/blob/main/models/SE_Weight_module.py

你好 刚刚在公众号看到你们的论文,对于多尺度特征,可不可以理解为Fi单独送到SE?也就是说SE最后的sigmod在你这边是单独绘图的,前面的两层conv与relu是你论文中所述的SEWeight?

self.SEWeight = nn.Sequential(
            nn.Conv2d(channel, channel // reduction, 1, padding=0, bias=True),
            nn.ReLU(inplace=True),
            nn.Conv2d(channel // reduction, channel, 1, padding=0, bias=True),
            #nn.Sigmoid()
        )
Senwang98 commented 3 years ago

@murufeng okay,知道了,但是我觉得有两个问题,不知道你这边有没有考虑过233333: 1.这样的话训练的话速度如何,我尝试将你们的方案替换了其他的att模块,训练的过程发现变慢不少。 2.split的过程中,看起来似乎每个块会唯一的使用一种depwise-conv,比如64通道,s=4,那么为什么前16通道就走3x3的conv,最后16层走9x9的。