Exemplo n.º 1
0
    def test_simple_sum(self):
        t1 = Tensor([1, 2, 3], requires_grad=True)
        t2 = t1.sum()

        t2.backward()

        assert t1.grad.data.tolist() == [1, 1, 1]
Exemplo n.º 2
0
    def test_sum_with_grad(self):
        t1 = Tensor([1, 2, 3], requires_grad=True)
        t2 = t1.sum()

        t2.backward(Tensor(3))

        assert t1.grad.data.tolist() == [3, 3, 3]
Exemplo n.º 3
0
    def test_simple_sum(self):
        t1 = Tensor([1, 2, 3], requires_grad=True)
        t2 = t1.sum()

        self.assertEqual(t2.data.tolist(), 6)

        t2.backward()

        self.assertEqual(t1.grad.data.tolist(), [1, 1, 1])
Exemplo n.º 4
0
    def test_sum_with_grad(self):
        """ Test sum of all elements of tensor, and input data to backward function
        """
        tensor1 = Tensor([1, 2, 3], requires_grad=True)
        tensor2 = tensor1.sum()

        tensor2.backward(Tensor(3.))

        assert tensor1.grad.data.tolist() == [3, 3, 3]
Exemplo n.º 5
0
    def test_simple_sum(self):
        """ Test sum of all elements of tensor
        """
        tensor1 = Tensor([1, 2, 3], requires_grad=True)

        tensor2 = tensor1.sum()
        tensor2.backward()

        assert tensor2.data.tolist() == 6
        assert tensor1.grad.data.tolist() == [1, 1, 1]
Exemplo n.º 6
0
    def test_sum_with_grad_torch(self):
        """ Test sum of all elements of tensor, and input data to backward function
            and compare with torch
        """
        tensor1 = Tensor([1, 2, 3], requires_grad=True)
        tensor2 = tensor1.sum()

        tensor_torch1 = tensor([1, 2, 3], dtype=float, requires_grad=True)
        tensor_torch2 = tensor_torch1.sum()

        tensor2.backward(Tensor(3.))
        tensor_torch2.backward(tensor(3.))

        assert tensor1.grad.data.tolist() == tensor1.grad.data.tolist()
Exemplo n.º 7
0
    def test_simple_sum_torch(self):
        """ Test sum of all elements of tensor and compare with torch
        """
        tensor1 = Tensor([1, 2, 3], requires_grad=True)
        tensor2 = tensor1.sum()

        tensor_torch1 = tensor([1, 2, 3], dtype=float, requires_grad=True)
        tensor_torch2 = tensor_torch1.sum()

        tensor2.backward()
        tensor_torch2.backward()

        assert tensor2.data.tolist() == tensor_torch2.data.tolist()
        assert tensor1.grad.data.tolist() == tensor_torch1.grad.data.tolist()
Exemplo n.º 8
0
def _sum_tensor(data):
    t1 = Tensor(data, requires_grad=True)
    t2 = t1.sum()
    t2.backward()
    return t1