def testBinExecution(self): from mars.tensor.expressions.arithmetic import BIN_UFUNC, mod, fmod, \ bitand, bitor, bitxor, lshift, rshift, ldexp _sp_bin_ufunc = [mod, fmod, bitand, bitor, bitxor, lshift, rshift] _new_bin_ufunc = list(BIN_UFUNC - set(_sp_bin_ufunc) - set([ldexp])) executor_numexpr = Executor() for i, j in itertools.permutations(range(len(_new_bin_ufunc)), 2): raw = np.random.random((9, 9, 9)) arr1 = tensor(raw, chunk_size=5) func1 = _new_bin_ufunc[i] func2 = _new_bin_ufunc[j] arr2 = func1(1, func2(2, arr1)) res = executor_numexpr.execute_tensor(arr2, concat=True) res_cmp = self.executor.execute_tensor(arr2, concat=True) self.assertTrue(np.allclose(res[0], res_cmp[0])) for i, j in itertools.permutations(range(len(_sp_bin_ufunc)), 2): raw = np.random.randint(1, 100, size=(10, 10, 10)) arr1 = tensor(raw, chunk_size=3) func1 = _sp_bin_ufunc[i] func2 = _sp_bin_ufunc[j] arr2 = func1(10, func2(arr1, 5)) res = executor_numexpr.execute_tensor(arr2, concat=True) res_cmp = self.executor.execute_tensor(arr2, concat=True) self.assertTrue(np.allclose(res[0], res_cmp[0]))
def testUnaryExecution(self): from mars.tensor.expressions.arithmetic import UNARY_UFUNC, arccosh, invert, sin, conj _sp_unary_ufunc = set([arccosh, invert, conj]) _new_unary_ufunc = list(UNARY_UFUNC - _sp_unary_ufunc) executor_numexpr = Executor() def _normalize_by_sin(func1, func2, arr): return func1(abs(sin((func2(arr))))) for i, j in itertools.permutations(range(len(_new_unary_ufunc)), 2): raw = np.random.random((8, 8, 8)) arr1 = tensor(raw, chunk_size=4) func1 = _new_unary_ufunc[i] func2 = _new_unary_ufunc[j] arr2 = _normalize_by_sin(func1, func2, arr1) res = executor_numexpr.execute_tensor(arr2, concat=True) res_cmp = self.executor.execute_tensor(arr2, concat=True) np.testing.assert_allclose(res[0], res_cmp[0]) raw = np.random.randint(100, size=(8, 8, 8)) arr1 = tensor(raw, chunk_size=4) arr2 = arccosh(1 + abs(invert(arr1))) res = executor_numexpr.execute_tensor(arr2, concat=True) res_cmp = self.executor.execute_tensor(arr2, concat=True) self.assertTrue(np.allclose(res[0], res_cmp[0]))
def testBaseExecution(self): executor_numpy = Executor('numpy') raw1 = np.random.randint(10, size=(10, 10, 10)) raw2 = np.random.randint(10, size=(10, 10, 10)) arr1 = tensor(raw1, chunk_size=3) arr2 = tensor(raw2, chunk_size=3) arr3 = arr1 + arr2 + 10 arr4 = 10 + arr1 + arr2 res3 = executor_numpy.execute_tensor(arr3, concat=True) res3_cmp = self.executor.execute_tensor(arr4, concat=True) self.assertTrue(np.array_equal(res3[0], res3_cmp[0])) res5 = executor_numpy.execute_tensor((arr1 + arr1), concat=True) res5_cmp = self.executor.execute_tensor((arr1 + arr1), concat=True) self.assertTrue(np.array_equal(res5[0], res5_cmp[0]))
def setUp(self): self.executor = Executor('numpy')
def setUp(self): self.executor = Executor('numpy') local_session = LocalSession() local_session._executor = self.executor self.session = Session() self.session._sess = local_session
def setUp(self): self.executor = Executor()
def setUp(self): self.executor = Executor('cupy')
def setUp(self): super(Test, self).setUp() self.executor = Executor()
def setUp(self): self.executor = Executor('numpy') self.old_chunk = options.tensor.chunk_size options.tensor.chunk_size = 10
def setUp(self): self.executor = Executor('numpy', storage=MockStorage(), prefetch=True)