deeplabv3-plus-pytorch
deeplabv3-plus-pytorch copied to clipboard
关于调整下采样
作者大大,您好,我想请问一下关于调整原来的mobilenetv2下采样次数时,函数:
def _nostride_dilate(self, m, dilate): classname = m.__class__.__name__ if classname.find('Conv') != -1: if m.stride == (2, 2): m.stride = (1, 1) if m.kernel_size == (3, 3): m.dilation = (dilate//2, dilate//2) m.padding = (dilate//2, dilate//2) else: if m.kernel_size == (3, 3): m.dilation = (dilate, dilate) m.padding = (dilate, dilate)
为什么要调整padding和dilation为不同的值,这一步不是很懂,希望得到各位大佬的指点。
m.dilation = (dilate//2, dilate//2) m.padding = (dilate//2, dilate//2)
这里我可以理解为保持卷积前后的size保持不变,但是不是很懂为什么后面其他层要调整padding和dilation的大小,是为了获得更大的感受野?不调整可不可以?
小白勿喷!!!
是为了获得更大的感受野 不建议不调整,感受野会变小,你可以看看感受野的计算公式。
stride=2或者1的影响很大的
是为了获得更大的感受野 不建议不调整,感受野会变小,你可以看看感受野的计算公式。
非常感谢大佬。我想我理解了