Example #1
0
 def test_TensorTest_CheckCopyValidToNew(self):
     for dev in TensorTest.devices:
         print(dev)
         tmp = tF.raw_input(Shape([2], 3), [1, 2, 3, 4, 5, 6], dev)
         x = Tensor(tmp)
         self.assertTrue(x.valid())
         self.assertTrue(tmp.valid())
         self.assertEqual(Shape([2], 3), x.shape())
         self.assertEqual(Shape([2], 3), tmp.shape())
         self.assertEqual([1, 2, 3, 4, 5, 6], x.to_list())
         self.assertEqual([1, 2, 3, 4, 5, 6], tmp.to_list())
Example #2
0
    def test_TesnorTest_CheckResetValuesByConstant(self):
        for dev in TensorTest.devices:
            x = tF.raw_input(Shape([2, 2], 2), [42] * 8, dev)
            self.assertEqual([42] * 8, x.to_list())

            x = tF.raw_input(Shape([2, 2], 2), [0] * 8, dev)
            x.reset(42)
            self.assertEqual([42] * 8, x.to_list())

            x = tF.raw_input(Shape([2, 2], 2), [123] * 8, dev)
            copied = Tensor(x)

            x.reset(42)
            self.assertEqual([42] * 8, x.to_list())
            self.assertEqual([123] * 8, copied.to_list())
Example #3
0
    def test_tensor_instance(self):
        param = Parameter([], I.Constant(1))
        t_origin = param.gradient
        t = param.gradient
        self.assertIs(t, t_origin)

        t = Tensor(t_origin)
        self.assertEqual(t.to_list(), t.to_list())
        self.assertIsNot(t, t_origin)

        t = t_origin
        t *= 2
        self.assertIs(t, t_origin)

        t = t * 2
        self.assertIsNot(t, t_origin)
Example #4
0
    def test_TensorTest_CheckInplaceSubtract(self):
        for dev in TensorTest.devices:
            a_data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
            b_data = [0, 1, 2, 3, 3, 4, 5, 6, 6, 7, 8, 9]
            y_data = [1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3]
            a = tF.raw_input(Shape([2, 2], 3), a_data, dev)
            b = tF.raw_input(Shape([2, 2], 3), b_data, dev)

            copied = Tensor(a)
            ref_a = a

            a -= b
            self.assertEqual(y_data, a.to_list())

            self.assertEqual(y_data, a.to_list())
            self.assertEqual(a_data, copied.to_list())
            self.assertIs(ref_a, a)
Example #5
0
    def test_TensorTest_CheckResetValuesByVector(self):
        for dev in TensorTest.devices:
            data = [1, 2, 3, 4, 5, 6, 7, 8]
            x = tF.raw_input(Shape([2, 2], 2), data, dev)
            self.assertEqual(data, x.to_list())

            data = [1, 2, 3, 4, 5, 6, 7, 8]
            x = tF.raw_input(Shape([2, 2], 2), [0] * 8, dev)
            x.reset_by_vector(data)
            self.assertEqual(data, x.to_list())

            data = [1, 2, 3, 4, 5, 6, 7, 8]
            x = tF.raw_input(Shape([2, 2], 2), [123] * 8, dev)
            copied = Tensor(x)

            x.reset_by_vector(data)
            self.assertEqual(data, x.to_list())
            self.assertEqual([123] * 8, copied.to_list())
Example #6
0
 def test_TensorTest_CheckInvalid(self):
     x = Tensor()
     self.assertFalse(x.valid())
     with self.assertRaises(RuntimeError):
         x.shape()
     with self.assertRaises(RuntimeError):
         x.device()
     with self.assertRaises(RuntimeError):
         x.to_float()
     with self.assertRaises(RuntimeError):
         x.to_list()
     with self.assertRaises(RuntimeError):
         x.to_ndarrays()
Example #7
0
 def test_TensorTest_CheckCopyInvalidToNew(self):
     for dev in TensorTest.devices:
         tmp = Tensor()
         x = Tensor(tmp)
         self.assertFalse(x.valid())
         self.assertFalse(tmp.valid())