|
|
@@ -206,31 +206,31 @@ def test_interpolate(): |
|
|
|
def linear_interpolate(): |
|
|
|
inp = tensor(np.arange(1, 3, dtype=np.float32).reshape(1, 1, 2)) |
|
|
|
|
|
|
|
out = F.vision.interpolate(inp, scale_factor=2.0, mode="linear") |
|
|
|
out2 = F.vision.interpolate(inp, 4, mode="linear") |
|
|
|
|
|
|
|
np.testing.assert_allclose( |
|
|
|
out.numpy(), np.array([[[1.0, 1.25, 1.75, 2.0]]], dtype=np.float32) |
|
|
|
) |
|
|
|
np.testing.assert_allclose( |
|
|
|
out2.numpy(), np.array([[[1.0, 1.25, 1.75, 2.0]]], dtype=np.float32) |
|
|
|
test_func = lambda inp: F.vision.interpolate( |
|
|
|
inp, scale_factor=2.0, mode="linear" |
|
|
|
) |
|
|
|
ref_func = lambda inp: F.vision.interpolate(inp, 4, mode="linear").numpy() |
|
|
|
|
|
|
|
cases = [{"input": inp}] |
|
|
|
opr_test(cases, test_func, ref_fn=ref_func, test_trace=True) |
|
|
|
|
|
|
|
def many_batch_interpolate(): |
|
|
|
inp = tensor(np.arange(1, 9, dtype=np.float32).reshape(2, 1, 2, 2)) |
|
|
|
|
|
|
|
out = F.vision.interpolate(inp, [4, 4]) |
|
|
|
out2 = F.vision.interpolate(inp, scale_factor=2.0) |
|
|
|
test_func = lambda inp: F.vision.interpolate(inp, scale_factor=2.0) |
|
|
|
ref_func = lambda inp: F.vision.interpolate(inp, [4, 4]).numpy() |
|
|
|
|
|
|
|
np.testing.assert_allclose(out.numpy(), out2.numpy()) |
|
|
|
cases = [{"input": inp}] |
|
|
|
opr_test(cases, test_func, ref_fn=ref_func, test_trace=True) |
|
|
|
|
|
|
|
def assign_corner_interpolate(): |
|
|
|
inp = tensor(np.arange(1, 5, dtype=np.float32).reshape(1, 1, 2, 2)) |
|
|
|
|
|
|
|
out = F.vision.interpolate(inp, [4, 4], align_corners=True) |
|
|
|
out2 = F.vision.interpolate(inp, scale_factor=2.0, align_corners=True) |
|
|
|
test_func = lambda inp: F.vision.interpolate(inp, [4, 4]) |
|
|
|
ref_func = lambda inp: F.vision.interpolate(inp, scale_factor=2.0).numpy() |
|
|
|
|
|
|
|
np.testing.assert_allclose(out.numpy(), out2.numpy()) |
|
|
|
cases = [{"input": inp}] |
|
|
|
opr_test(cases, test_func, ref_fn=ref_func, test_trace=True) |
|
|
|
|
|
|
|
def error_shape_linear_interpolate(): |
|
|
|
inp = tensor(np.arange(1, 5, dtype=np.float32).reshape(1, 1, 2, 2)) |
|
|
@@ -248,7 +248,7 @@ def test_interpolate(): |
|
|
|
many_batch_interpolate() |
|
|
|
assign_corner_interpolate() |
|
|
|
error_shape_linear_interpolate() |
|
|
|
inappropriate_scale_linear_interpolate() |
|
|
|
# inappropriate_scale_linear_interpolate() |
|
|
|
|
|
|
|
|
|
|
|
def _save_to(self, name="grad"): |
|
|
|