(self, kernel='linear', pad_mode='reflect')
| 387 | |
| 388 | class Downsample2d(nn.Module): |
| 389 | def __init__(self, kernel='linear', pad_mode='reflect'): |
| 390 | super().__init__() |
| 391 | self.pad_mode = pad_mode |
| 392 | kernel_1d = torch.tensor([_kernels[kernel]]) |
| 393 | self.pad = kernel_1d.shape[1] // 2 - 1 |
| 394 | self.register_buffer('kernel', kernel_1d.T @ kernel_1d) |
| 395 | |
| 396 | def forward(self, x): |
| 397 | x = F.pad(x, (self.pad,) * 4, self.pad_mode) |