Пример #1
0
    def testInplace(self):
        t = TensorBase(np.array([2, 4, 8]))
        t /= np.array([2, 2, 2])
        self.assertTrue(syft.equal(t.data, [1, 2, 4]))

        t = TensorBase(np.array([1, 7, 11]))
        t /= np.array([3, 2, 9])
        self.assertTrue(syft.equal(t, [1 / 3, 7 / 2, 11 / 9]))
Пример #2
0
 def test_axis(self):
     t = TensorBase(
         np.array([[0.77937768, 0.51022484, 0.49155195, 0.02769902],
                   [0.03777148, 0.13020167, 0.02155692, 0.69574893]]))
     result = t.max(axis=1)
     self.assertTrue(syft.equal(result, [0.77937768, 0.69574893]))
     result = t.max(axis=0)
     self.assertTrue(
         syft.equal(result,
                    [0.77937768, 0.51022484, 0.49155195, 0.69574893]))
Пример #3
0
 def test_split(self):
     t = TensorBase(np.random.rand(7, 4))
     split_size = 3
     axis = 0
     target_shapes = [(3, 4), (3, 4), (1, 4)]
     splits = syft.math.split(t, split_size, axis)
     start = 0
     for target_shape, split in zip(target_shapes, splits):
         self.assertTrue(syft.equal(split.shape(), target_shape))
         self.assertTrue(
             syft.equal(t.narrow(axis, start, target_shape[axis]), split))
         start += target_shape[axis]
Пример #4
0
 def test_sin(self):
     # int
     t1 = TensorBase(np.array([[3, 1, 2], [0, -1, 2]]))
     t2 = syft.math.sin(t1)
     self.assertTrue(syft.equal(t1.data, np.array([[3, 1, 2], [0, -1, 2]])))
     self.assertTrue(
         syft.equal(t2.data, np.sin(np.array([[3, 1, 2], [0, -1, 2]]))))
     # float
     t1 = TensorBase(np.array([[3.3, 1.3, 2.2], [0.0, -1.3, 2.4]]))
     t2 = syft.math.sin(t1)
     self.assertTrue(
         syft.equal(t1.data, np.array([[3.3, 1.3, 2.2], [0.0, -1.3, 2.4]])))
     self.assertTrue(
         syft.equal(t2.data,
                    np.sin(np.array([[3.3, 1.3, 2.2], [0.0, -1.3, 2.4]]))))
Пример #5
0
 def test_one_dim_tensor_below_diag(self):
     t = TensorBase(np.array([1, 2, 3, 4]))
     self.assertTrue(syft.equal(syft.diag(t, -1), TensorBase([[0, 0, 0, 0, 0],
                                                             [1, 0, 0, 0, 0],
                                                             [0, 2, 0, 0, 0],
                                                             [0, 0, 3, 0, 0],
                                                             [0, 0, 0, 4, 0]])))
Пример #6
0
 def test_matmul_2d_float(self):
     t1 = TensorBase(np.array([[1.3, 2.5],
                               [3.4, 4.5]]))
     t2 = TensorBase(np.array([[5.8, 6.5],
                               [7.8, 8.9]]))
     self.assertTrue(syft.equal(syft.matmul(t1, t2), [[27.04, 30.7],
                                                      [54.82, 62.15]]))
Пример #7
0
 def test_matmul_2d_int(self):
     t1 = TensorBase(np.array([[1, 2],
                               [3, 4]]))
     t2 = TensorBase(np.array([[5, 6],
                               [7, 8]]))
     self.assertTrue(syft.equal(syft.matmul(t1, t2), [[19, 22],
                                                      [43, 50]]))
Пример #8
0
 def test_matmul_2d_identity(self):
     t1 = TensorBase(np.array([[1, 0],
                               [0, 1]]))
     t2 = TensorBase(np.array([[5.8, 6.5],
                               [7.8, 8.9]]))
     self.assertTrue(syft.equal(syft.matmul(t1, t2), [[5.8, 6.5],
                                                      [7.8, 8.9]]))
Пример #9
0
 def test_as_view(self):
     t = TensorBase(np.array([1.0, 2.0, 3.0]))
     t1 = t.view([-1, 1])
     print(t.data.dtype)
     self.assertTrue(
         syft.equal(t.view_as(t1),
                    TensorBase(np.array([[1.0], [2.0], [3.0]]))))
Пример #10
0
 def test_one_dim_tensor_below_diag(self):
     t = TensorBase(np.array([1, 2, 3]))
     tdiag = t.diag(-1)
     self.assertTrue(syft.equal(tdiag.data, TensorBase(np.array([[0, 0, 0, 0],
                                                                 [1, 0, 0, 0],
                                                                 [0, 2, 0, 0],
                                                                 [0, 0, 3, 0]]))))
Пример #11
0
 def testScalar(self):
     t = TensorBase(np.array([1, 2, 3]))
     self.assertTrue(syft.equal(t + 2, [3, 4, 5]))
Пример #12
0
 def testNotEqual(self):
     t1 = TensorBase(np.array([1, 2, 3]))
     t2 = TensorBase(np.array([1, 4, 3]))
     self.assertFalse(syft.equal(t1, t2))
Пример #13
0
 def testSigmoid(self):
     t1 = TensorBase(np.array([1.2, 3.3, 4]))
     self.assertTrue(syft.equal(t1.sigmoid_(), TensorBase(
         [0.76852478, 0.96442881, 0.98201379])))
Пример #14
0
 def testDimIsNotNoneInt(self):
     t = TensorBase(np.array([[0, 1], [0, 5]]))
     self.assertTrue(syft.equal(t.sum(dim=1), [1, 5]))
Пример #15
0
 def testEqual(self):
     t1 = TensorBase(np.array([1.2, 2, 3]))
     t2 = TensorBase(np.array([1.2, 2, 3]))
     self.assertTrue(syft.equal(t1, t2))
Пример #16
0
 def test_floor(self):
     t1 = TensorBase(np.array([[2.3, 4.1], [7.4, 8.3]]))
     self.assertTrue(syft.equal(syft.math.floor(t1), TensorBase([[2., 4.],
                                                                 [7., 8.]])))
Пример #17
0
 def testDimNoneInt(self):
     t = TensorBase(np.array([1, 2, 3]))
     self.assertTrue(syft.equal(t.sum(), 6))
Пример #18
0
 def testInplace(self):
     t = TensorBase(np.array([1, 2, 3]))
     t -= np.array([1, 2, 3])
     self.assertTrue(syft.equal(t.data, [0, 0, 0]))
Пример #19
0
 def testFloor_(self):
     t = TensorBase(np.array([1.4, 2.7, 6.2]))
     self.assertTrue(syft.equal(t.floor_(), [1., 2., 6.]))
     self.assertTrue(syft.equal(t.data, [1., 2., 6.]))
Пример #20
0
    def testZero(self):
        t = TensorBase(np.array([13, 42, 1024]))
        self.assertTrue(syft.equal(t.zero_(), [0, 0, 0]))

        t = TensorBase(np.array([13.1, 42.2, 1024.4]))
        self.assertTrue(syft.equal(t.zero_(), [0.0, 0.0, 0.0]))
Пример #21
0
 def testCeil(self):
     t = TensorBase(np.array([1.4, 2.7, 6.2]))
     tdash = t.ceil()
     self.assertTrue(syft.equal(tdash.data, TensorBase([2, 3, 7])))
     self.assertTrue(syft.equal(t.data, TensorBase([1.4, 2.7, 6.2])))
Пример #22
0
 def testSimple(self):
     t = TensorBase(np.array([2, 4, 8]))
     self.assertTrue(syft.equal(t / np.array([2, 2, 2]), [1, 2, 4]))
Пример #23
0
 def testCeil_(self):
     t = TensorBase(np.array([1.4, 2.7, 6.2]))
     self.assertTrue(syft.equal(t.ceil_(), [2, 3, 7]))
     self.assertTrue(syft.equal(t.data, [2, 3, 7]))
Пример #24
0
 def testView(self):
     t = TensorBase([1.0, 2.0, 3.0])
     self.assertTrue(syft.equal(t.view(-1, 1), TensorBase(np.array([[1], [2], [3]]))))
Пример #25
0
 def testNe_(self):
     t1 = TensorBase([1, 2, 3, 4])
     t2 = TensorBase([1., 2., 3., 5.])
     t1.ne_(t2)
     self.assertTrue(syft.equal(t1, TensorBase([1, 1, 1, 0])))
Пример #26
0
 def testScalar(self):
     t = TensorBase(np.array([2, 4, 6]))
     self.assertTrue(syft.equal(t / 2, [1, 2, 3]))
Пример #27
0
 def testSimple(self):
     t = TensorBase(np.array([1, 2, 3]))
     self.assertTrue(syft.equal(t - np.array([1, 2, 3]), [0, 0, 0]))
Пример #28
0
 def testShape(self):
     t = TensorBase(np.array([[0, 1], [0, 5]]))
     self.assertTrue(syft.equal(t.shape(), (2, 2)))
Пример #29
0
 def testScalar(self):
     t = TensorBase(np.array([1, 2, 3]))
     self.assertTrue(syft.equal(t - 1, [0, 1, 2]))
Пример #30
0
 def testSqrt_(self):
     t = TensorBase(np.array([[0, 4], [9, 16]]))
     t.sqrt_()
     self.assertTrue(syft.equal(t, ([[0, 2], [3, 4]])))