def test_gdn1(self): g = GDN1(128) x = torch.rand(1, 128, 1, 1) y0 = g(x) m = torch.jit.script(g) y1 = m(x) assert torch.allclose(y0, y1)
def test_gdn1(self): g = GDN1(32) x = torch.rand(1, 32, 16, 16, requires_grad=True) y = g(x) y.backward(x) assert y.shape == x.shape assert x.grad is not None assert x.grad.shape == x.shape y_ref = x / (1 + 0.1 * torch.abs(x)) assert torch.allclose(y_ref, y)