默认都是对称padding,但是有些时候遇到feature map大小是基数,想要单边添加0补成偶数,可使用如下方式:
import torch
import torch.nn.functional as F
class CustomPad(torch.nn.module):
def __init__(self, padding):
self.padding = padding
def forward(self, x):
return F.pad(x. self.padding, mode='replicate')
这样将padding弄成一个module,然后在下一个conv之前先调用padding操作,然后conv中的padding设置成0即可。
或者使用nn.ConstantPad2d
来完成。