def dot(self, tensor): """Returns inner product of two tensors""" if self.encrypted: return NotImplemented if tensor.encrypted: return tensor.dot(self) return syft.dot(self, tensor)
def test_dot_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.dot(t1, t2), 44.92)
def test_dot_int(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 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))