import torch | |
from torch import nn | |
from kornia.filters import filter2d | |
class Blur(nn.Module): | |
def __init__(self): | |
super().__init__() | |
f = torch.Tensor([1, 2, 1]) | |
self.register_buffer("f", f) | |
def forward(self, x): | |
f = self.f | |
f = f[None, None, :] * f[None, :, None] | |
return filter2d(x, f, normalized=True) | |