Esempio n. 1
0
def test_batch_left_interp_on_a_batch_matrix():
    batch_matrix = torch.randn(2, 6, 3)

    res = left_interp(batch_interp_indices, batch_interp_values,
                      Variable(batch_matrix)).data
    actual = torch.matmul(batch_interp_matrix, batch_matrix)
    assert approx_equal(res, actual)
Esempio n. 2
0
def test_batch_left_interp_on_a_vector():
    vector = torch.randn(6)

    actual = torch.matmul(batch_interp_matrix,
                          vector.unsqueeze(-1).unsqueeze(0)).squeeze(0)
    res = left_interp(batch_interp_indices, batch_interp_values,
                      Variable(vector)).data
    assert approx_equal(res, actual)
Esempio n. 3
0
    def test_left_interp_on_a_vector(self):
        vector = torch.randn(6)

        res = left_interp(
            self.interp_indices, self.interp_values, Variable(vector)
        ).data
        actual = torch.matmul(self.interp_matrix, vector)
        self.assertTrue(approx_equal(res, actual))
Esempio n. 4
0
    def test_batch_left_interp_on_a_batch_matrix(self):
        batch_matrix = torch.randn(2, 6, 3)

        res = left_interp(
            self.batch_interp_indices, self.batch_interp_values, Variable(batch_matrix)
        ).data
        actual = torch.matmul(self.batch_interp_matrix, batch_matrix)
        self.assertTrue(approx_equal(res, actual))
Esempio n. 5
0
    def test_left_interp_on_a_matrix(self):
        matrix = torch.randn(6, 3)

        res = left_interp(
            self.interp_indices,
            self.interp_values,
            Variable(matrix),
        ).data
        actual = torch.matmul(self.interp_matrix, matrix)
        self.assertTrue(approx_equal(res, actual))
Esempio n. 6
0
    def test_batch_left_interp_on_a_vector(self):
        vector = torch.randn(6)

        actual = torch.matmul(self.batch_interp_matrix,
                              vector.unsqueeze(-1).unsqueeze(0)).squeeze(0)
        res = left_interp(
            self.batch_interp_indices,
            self.batch_interp_values,
            Variable(vector),
        ).data
        self.assertTrue(approx_equal(res, actual))
Esempio n. 7
0
    def test_interpolation(self):
        x = torch.linspace(0.01, 1, 100).unsqueeze(1)
        grid = torch.linspace(-0.05, 1.05, 50).unsqueeze(0)
        indices, values = Interpolation().interpolate(Variable(grid), Variable(x))
        indices = indices.squeeze_(0)
        values = values.squeeze_(0)
        test_func_grid = grid.squeeze(0).pow(2)
        test_func_x = x.pow(2).squeeze(-1)

        interp_func_x = utils.left_interp(indices.data, values.data, test_func_grid.unsqueeze(1)).squeeze()

        self.assertTrue(utils.approx_equal(interp_func_x, test_func_x))
Esempio n. 8
0
def test_interpolation():
    x = torch.linspace(0.01, 1, 100).unsqueeze(1)
    grid = torch.linspace(-0.05, 1.05, 50).unsqueeze(0)
    indices, values = Interpolation().interpolate(grid, x)
    indices.squeeze_(0)
    values.squeeze_(0)
    test_func_grid = grid.squeeze(0).pow(2)
    test_func_x = x.pow(2).squeeze(-1)

    interp_func_x = utils.left_interp(indices, values,
                                      test_func_grid.unsqueeze(1)).squeeze()

    assert utils.approx_equal(interp_func_x, test_func_x)
Esempio n. 9
0
def test_left_interp_on_a_matrix():
    matrix = torch.randn(6, 3)

    res = left_interp(interp_indices, interp_values, Variable(matrix)).data
    actual = torch.matmul(interp_matrix, matrix)
    assert approx_equal(res, actual)
Esempio n. 10
0
def test_left_interp_on_a_vector():
    vector = torch.randn(6)

    res = left_interp(interp_indices, interp_values, Variable(vector)).data
    actual = torch.matmul(interp_matrix, vector)
    assert approx_equal(res, actual)