def test_unresample_nearest_real_sampling_cpu(): # Basic Unresample layer layer = Unresample(InterpolationType.NEAREST) # Run a forward and backward pass output, forward_time, backward_time, gradcheck_res = utils.mapped_resample_test( layer, input=params.input_3x4().repeat(bs, channels, 1, 1), sample_map=params.sample_map7(), cuda=False) # Manually computed correct result correct_output = torch.tensor([[1, 6], [10, 0], [0, 11]]).double() # Assert gradient check has passed assert gradcheck_res # Assert outputs match testing.assert_allclose(output, correct_output)
def test_unresample_bispherical_real_sampling_cuda(): # Basic Unresample layer layer = Unresample(InterpolationType.BISPHERICAL) # Run a forward and backward pass output, forward_time, backward_time, gradcheck_res = utils.mapped_resample_test( layer, input=params.input_3x4().repeat(bs, channels, 1, 1), sample_map=params.sample_map7(), cuda=True) # Manually computed correct result correct_output = torch.tensor([[0.5, 5.5], [9.5, 9.5], [1.5, 10.5]]).double().cuda() # Assert gradient check has passed assert gradcheck_res # Assert outputs match testing.assert_allclose(output, correct_output)