def test_cumprod(self): t1 = TensorBase(np.array([1, 2, 3])) self.assertTrue(syft.equal(syft.cumprod(t1), TensorBase([1, 2, 6])))
def test_sigmoid(self): t1 = TensorBase(np.array([1.2, 3.3, 4])) self.assertTrue( syft.equal(syft.math.sigmoid(t1), TensorBase([0.76852478, 0.96442881, 0.98201379])))
def test_addcmul_2d(self): t1 = TensorBase(np.array([[1, 2], [1, 2]])) t2 = TensorBase(np.array([[1, 2], [1, 2]])) mat = TensorBase(np.array([[2, 3], [3, 4]])) out = syft.addcmul(t1, t2, mat, value=2) self.assertTrue(np.array_equal(out.data, [[4, 11], [5, 12]]))
def test_mm_2d(self): t1 = TensorBase(np.array([[1, 2], [1, 2]])) t2 = TensorBase(np.array([[2, 3], [2, 3]])) out = syft.mm(t1, t2) self.assertTrue(np.alltrue(out.data == [[6, 9], [6, 9]]))
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]]))
def test_addmm_2d(self): t1 = TensorBase(np.array([[1, 2], [1, 2]])) t2 = TensorBase(np.array([[1, 2], [1, 2]])) mat = TensorBase(np.array([[2, 3], [3, 4]])) out = syft.addmm(t1, t2, mat, beta=2, alpha=2) self.assertTrue(np.array_equal(out.data, [[10, 18], [12, 20]]))
def testaddbmm(self): t1 = TensorBase(np.array([[[3, 4], [5, 6]], [[7, 8], [1, 2]]])) t2 = TensorBase(np.array([[[3, 5], [5, 7]], [[7, 9], [1, 3]]])) mat = TensorBase(np.array([[2, 3], [3, 4]])) out = syft.addbmm(t1, t2, mat, beta=2, alpha=2) self.assertTrue(np.array_equal(out.data, [[176, 266], [114, 172]]))
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]]))
def test_two_dim_tensor_upper_diag(self): t = TensorBase(np.array([[0, 1], [2, 3]])) self.assertTrue(syft.equal(syft.diag(t, 1), TensorBase([1])))
def test_two_dim_tensor_below_diag(self): t = TensorBase(np.array([[0, 1], [2, 3]])) self.assertTrue(syft.equal(syft.diag(t, -1), TensorBase([2])))
def test_two_dim_tensor_main_diag(self): t = TensorBase(np.array([[0, 1], [2, 3]])) self.assertTrue(syft.equal(syft.diag(t, 0), TensorBase([0, 3])))
def test_lerp(self): t1 = TensorBase(np.array([1, 2, 3, 4])) t2 = TensorBase(np.array([3, 4, 5, 6])) weight = 0.5 out = syft.math.lerp(t1, t2, weight) self.assertTrue(np.array_equal(out.data, [2, 3, 4, 5]))
def test_mm_3d(self): t1 = TensorBase(np.array([[1, 2], [2, 3], [3, 4]])) t2 = TensorBase(np.array([[1, 2, 3], [2, 3, 4]])) out = syft.mm(t1, t2) self.assertTrue( np.alltrue(out.data == [[5, 8, 11], [8, 13, 18], [11, 18, 25]]))
def test_matmul_1d_int(self): t1 = TensorBase(np.array([1, 2, 3])) t2 = TensorBase(np.array([4, 5, 6])) self.assertEqual(syft.matmul(t1, t2), syft.dot(t1, t2))
def testDotInt(self): t1 = TensorBase(np.array([1, 2, 3])) t2 = TensorBase(np.array([4, 5, 6])) self.assertEqual(syft.dot(t1, t2), 32)
def test_matmul_1d_float(self): t1 = TensorBase(np.array([1.3, 2.5, 3.7])) t2 = TensorBase(np.array([4.9, 5.8, 6.5])) self.assertEqual(syft.matmul(t1, t2), syft.dot(t1, t2))
def testDotFloat(self): t1 = TensorBase(np.array([1.3, 2.5, 3.7])) t2 = TensorBase(np.array([4.9, 5.8, 6.5])) self.assertEqual(syft.dot(t1, t2), 44.92)
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]]))
def testCeil(self): t1 = TensorBase(np.array([[2.3, 4.1], [7.4, 8.3]])) self.assertTrue( syft.equal(syft.ceil(t1), TensorBase([[3., 5.], [8., 9.]])))
def test_addmm_1d(self): t1 = TensorBase(np.array([1, 2, 3])) t2 = TensorBase(np.array([2, 3, 4])) mat = TensorBase(np.array([5])) out = syft.addmm(t1, t2, mat, beta=2, alpha=2) self.assertTrue(np.array_equal(out.data, [50]))
def testFloor(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.]])))
def test_addcmul_1d(self): t1 = TensorBase(np.array([1, 2, 3])) t2 = TensorBase(np.array([2, 3, 4])) mat = TensorBase(np.array([5])) out = syft.addcmul(t1, t2, mat, value=2) self.assertTrue(np.array_equal(out.data, [9, 17, 29]))
def testCumsum(self): t1 = TensorBase(np.array([1, 2, 3])) self.assertTrue(syft.equal(syft.cumsum(t1), TensorBase([1, 3, 6])))
def test_addcdiv_1d(self): t1 = TensorBase(np.array([1, 2, 3])) t2 = TensorBase(np.array([2, 5, 4])) mat = TensorBase(np.array([5])) out = syft.addcdiv(t1, t2, mat, value=2) self.assertTrue(np.array_equal(out.data, [6., 5.8, 6.5]))
def test_mm_1d(self): t1 = TensorBase(np.array([2, 3, 4])) t2 = TensorBase(np.array([3, 4, 5])) out = syft.mm(t1, t2) self.assertTrue(np.alltrue(out.data == [38]))