(self, kernel='linear', pad_mode='reflect')
| 403 | |
| 404 | class Upsample2d(nn.Module): |
| 405 | def __init__(self, kernel='linear', pad_mode='reflect'): |
| 406 | super().__init__() |
| 407 | self.pad_mode = pad_mode |
| 408 | kernel_1d = torch.tensor([_kernels[kernel]]) * 2 |
| 409 | self.pad = kernel_1d.shape[1] // 2 - 1 |
| 410 | self.register_buffer('kernel', kernel_1d.T @ kernel_1d) |
| 411 | |
| 412 | def forward(self, x): |
| 413 | x = F.pad(x, ((self.pad + 1) // 2,) * 4, self.pad_mode) |