我遇到了一些代码,我发现有一些方法可以正确实现相同的填充。人们专门将此代码用于stride> 1,他们说“没有它就会有像素漂移”。
他们使用的代码是(变量名称不言自明):-
kernel_size_effective = kernel_size + (kernel_size - 1) * (rate - 1)
pad_total = kernel_size_effective - 1
pad_beg = pad_total // 2
pad_end = pad_total - pad_beg
x = ZeroPadding2D((pad_beg, pad_end))(x)
Conv=Conv2D(filters,
(kernel_size, kernel_size),
strides=(stride, stride),
padding='valid', use_bias=False,
dilation_rate=(rate, rate),
name=prefix)(x)
有没有人遇到过相同填充的这种实现,并会解释这种实现以及什么是像素漂移?