def test_value(self, device, dtype): input = torch.tensor([[0.5, 1., 0.3], [0.7, 0.3, 0.8], [0.4, 0.9, 0.2]], device=device, dtype=dtype)[None, None, :, :] kernel = torch.tensor([[0., 1., 0.], [1., 1., 1.], [0., 1., 0.]], device=device, dtype=dtype) expected = torch.tensor([[0., 0.5, 0.], [0.2, 0., 0.5], [0., 0.5, 0.]], device=device, dtype=dtype)[None, None, :, :] assert_allclose(top_hat(input, kernel), expected)
def test_exception(self, device, dtype): input = torch.ones(1, 1, 3, 4, device=device, dtype=dtype) kernel = torch.ones(3, 3, device=device, dtype=dtype) with pytest.raises(TypeError): assert top_hat([0.0], kernel) with pytest.raises(TypeError): assert top_hat(input, [0.0]) with pytest.raises(ValueError): test = torch.ones(2, 3, 4, device=device, dtype=dtype) assert top_hat(test, kernel) with pytest.raises(ValueError): test = torch.ones(2, 3, 4, device=device, dtype=dtype) assert top_hat(input, test)
def test_exception(self, dev_str, dtype_str, call): input_ = ivy.ones((1, 1, 3, 4), dev_str=dev_str, dtype_str=dtype_str) kernel = ivy.ones((3, 3), dev_str=dev_str, dtype_str=dtype_str) with pytest.raises(ValueError): test = ivy.ones((2, 3, 4), dev_str=dev_str, dtype_str=dtype_str) assert top_hat(test, kernel) with pytest.raises(ValueError): test = ivy.ones((2, 3, 4), dev_str=dev_str, dtype_str=dtype_str) assert top_hat(input_, test) if call is not helpers.torch_call: return with pytest.raises(TypeError): assert top_hat([0.], kernel) with pytest.raises(TypeError): assert top_hat(input_, [0.])
def test_cardinality(self, dev_str, dtype_str, call, shape, kernel): img = ivy.ones(shape, dtype_str=dtype_str, dev_str=dev_str) krnl = ivy.ones(kernel, dtype_str=dtype_str, dev_str=dev_str) assert top_hat(img, krnl).shape == shape
def test_cardinality(self, device, dtype, shape, kernel): img = torch.ones(shape, device=device, dtype=dtype) krnl = torch.ones(kernel, device=device, dtype=dtype) assert top_hat(img, krnl).shape == shape