def test_min(self): src = np.asarray([1, 1, 1, 2, 2, 5, 5, 10]) Assert.all_eq(spartan.min(spartan.from_numpy(src)).glom(), np.min(src)) src = np.arange(100).reshape(10, 10) Assert.all_eq( spartan.min(spartan.from_numpy(src), axis=1).glom(), np.min(src, axis=1))
def _split_sample_and_label(merged_mb): [s, l] = np.hsplit(merged_mb, [merged_mb.shape[1] - 1]) # change label to sparse representation n = merged_mb.shape[0] ll = np.zeros([n, 10], dtype=np.float) ll[np.arange(n), l.astype(int).flat] = 1 return (spartan.from_numpy(s).evaluate(), spartan.from_numpy(ll).evaluate())
def test_min(self): src = np.asarray([1, 1, 1, 2, 2, 5, 5, 10]) Assert.all_eq( spartan.min(spartan.from_numpy(src)).glom(), np.min(src)) src = np.arange(100).reshape(10, 10) Assert.all_eq( spartan.min(spartan.from_numpy(src), axis=1).glom(), np.min(src, axis=1))
def test_diag(self): import random dim = random.randint(0, 99) np_array = np.random.randn(dim, dim) Assert.all_eq(spartan.diag(spartan.from_numpy(np_array)).glom(), np.diag(np_array)) np_array2 = np.random.randn(dim, dim) Assert.all_eq(spartan.diag(spartan.diag(spartan.from_numpy(np_array2))).glom(), np.diag(np.diag(np_array2)))
def test_diagonal(self): np_2d = np.random.randn(2, 2) Assert.all_eq(spartan.diagonal(spartan.from_numpy(np_2d)).glom(), np.diagonal(np_2d)) np_not_square = np.random.randn(15, 10) Assert.all_eq(spartan.diagonal(spartan.from_numpy(np_not_square)).glom(), np.diagonal(np_not_square)) np_big = np.random.randn(16, 16) Assert.all_eq(spartan.diagonal(spartan.from_numpy(np_big)).glom(), np.diagonal(np_big))
def test_diag(self): import random dim = random.randint(0, 99) np_array = np.random.randn(dim, dim) Assert.all_eq( spartan.diag(spartan.from_numpy(np_array)).glom(), np.diag(np_array)) np_array2 = np.random.randn(dim, dim) Assert.all_eq( spartan.diag(spartan.diag(spartan.from_numpy(np_array2))).glom(), np.diag(np.diag(np_array2)))
def _split_sample(merged_mb): r = merged_mb[0] c = merged_mb[1] density = 0.23588 data = merged_mb[2] length = int(r * c * density) + 1 row = np.random.randint(r, size=length) col = np.random.randint(c, size=length) # s = scipy.sparse.rand(r, c, density=0.2358).toarray() s = scipy.sparse.coo_matrix((data, (row, col)), shape=(r, c)).toarray() l = np.random.randint(10, size=r) ll = np.zeros([r, 10]) ll[range(r), l.astype(int).flat] = 1 return (sp.from_numpy(s).evaluate(), sp.from_numpy(ll).evaluate())
def test_maximum(self): # Test arrays of equal length. np_a = np.random.randn(10, 10) np_b = np.random.randn(10, 10) sp_a = spartan.from_numpy(np_a) sp_b = spartan.from_numpy(np_b) Assert.all_eq( spartan.maximum(sp_a, sp_b).glom(), np.maximum(np_a, np_b)) # Test broadcasting. Assert.all_eq( spartan.maximum(sp_a, 0).glom(), np.maximum(np_a, 0))
def test_std_no_axis(self): # 1d array. np_1d = np.random.randn(10) Assert.float_close( spartan.std(spartan.from_numpy(np_1d)).glom(), np.std(np_1d)) # 2d array with auto-flattening. np_2d = np.random.randn(10, 10) Assert.float_close( spartan.std(spartan.from_numpy(np_2d)).glom(), np.std(np_2d)) np_big = np.random.randn(17, 17) Assert.float_close( spartan.std(spartan.from_numpy(np_big)).glom(), np.std(np_big))
def test_diagonal(self): np_2d = np.random.randn(2, 2) Assert.all_eq( spartan.diagonal(spartan.from_numpy(np_2d)).glom(), np.diagonal(np_2d)) np_not_square = np.random.randn(15, 10) Assert.all_eq( spartan.diagonal(spartan.from_numpy(np_not_square)).glom(), np.diagonal(np_not_square)) np_big = np.random.randn(16, 16) Assert.all_eq( spartan.diagonal(spartan.from_numpy(np_big)).glom(), np.diagonal(np_big))
def test_concatenate(self): np_1d = np.random.randn(10) sp_1d = spartan.from_numpy(np_1d) Assert.all_eq(spartan.concatenate(sp_1d, sp_1d).glom(), np.concatenate((np_1d, np_1d))) np_2d = np.arange(1024).reshape(32, 32) sp_2d = spartan.from_numpy(np_2d) Assert.all_eq(spartan.concatenate(sp_2d, sp_2d).glom(), np.concatenate((np_2d, np_2d))) Assert.all_eq(spartan.concatenate(sp_2d, sp_2d, 1).glom(), np.concatenate((np_2d, np_2d), 1)) np_15x5 = np.random.randn(15, 5) np_15x7 = np.random.randn(15, 7) sp_15x5 = spartan.from_numpy(np_15x5) sp_15x7 = spartan.from_numpy(np_15x7) Assert.all_eq(spartan.concatenate(sp_15x5, sp_15x7, 1).glom(), np.concatenate((np_15x5, np_15x7), 1))
def test_std_with_axis(self): np_2d = np.random.randn(10, 10) sp_2d = spartan.from_numpy(np_2d) Assert.all_close(spartan.std(sp_2d, 0).glom(), np.std(np_2d, 0)) Assert.all_close(spartan.std(sp_2d, 1).glom(), np.std(np_2d, 1)) np_uneven_0 = np.random.randn(15, 13) sp_uneven_0 = spartan.from_numpy(np_uneven_0) Assert.all_close(spartan.std(sp_uneven_0, 0).glom(), np.std(np_uneven_0, 0)) Assert.all_close(spartan.std(sp_uneven_0, 1).glom(), np.std(np_uneven_0, 1)) np_uneven_1 = np.random.randn(13, 15) sp_uneven_1 = spartan.from_numpy(np_uneven_1) Assert.all_close(spartan.std(sp_uneven_1, 0).glom(), np.std(np_uneven_1, 0)) Assert.all_close(spartan.std(sp_uneven_1, 1).glom(), np.std(np_uneven_1, 1)) np_big = np.random.randn(17, 17) sp_big = spartan.from_numpy(np_big) Assert.all_close(spartan.std(sp_big, 0).glom(), np.std(np_big, 0)) Assert.all_close(spartan.std(sp_big, 1).glom(), np.std(np_big, 1))
def test_concatenate(self): np_1d = np.random.randn(10) sp_1d = spartan.from_numpy(np_1d) Assert.all_eq( spartan.concatenate(sp_1d, sp_1d).glom(), np.concatenate((np_1d, np_1d))) np_2d = np.arange(1024).reshape(32, 32) sp_2d = spartan.from_numpy(np_2d) Assert.all_eq( spartan.concatenate(sp_2d, sp_2d).glom(), np.concatenate((np_2d, np_2d))) Assert.all_eq( spartan.concatenate(sp_2d, sp_2d, 1).glom(), np.concatenate((np_2d, np_2d), 1)) np_15x5 = np.random.randn(15, 5) np_15x7 = np.random.randn(15, 7) sp_15x5 = spartan.from_numpy(np_15x5) sp_15x7 = spartan.from_numpy(np_15x7) Assert.all_eq( spartan.concatenate(sp_15x5, sp_15x7, 1).glom(), np.concatenate((np_15x5, np_15x7), 1))
def test_std_with_axis(self): np_2d = np.random.randn(10, 10) sp_2d = spartan.from_numpy(np_2d) Assert.all_close(spartan.std(sp_2d, 0).glom(), np.std(np_2d, 0)) Assert.all_close(spartan.std(sp_2d, 1).glom(), np.std(np_2d, 1)) np_uneven_0 = np.random.randn(15, 13) sp_uneven_0 = spartan.from_numpy(np_uneven_0) Assert.all_close( spartan.std(sp_uneven_0, 0).glom(), np.std(np_uneven_0, 0)) Assert.all_close( spartan.std(sp_uneven_0, 1).glom(), np.std(np_uneven_0, 1)) np_uneven_1 = np.random.randn(13, 15) sp_uneven_1 = spartan.from_numpy(np_uneven_1) Assert.all_close( spartan.std(sp_uneven_1, 0).glom(), np.std(np_uneven_1, 0)) Assert.all_close( spartan.std(sp_uneven_1, 1).glom(), np.std(np_uneven_1, 1)) np_big = np.random.randn(17, 17) sp_big = spartan.from_numpy(np_big) Assert.all_close(spartan.std(sp_big, 0).glom(), np.std(np_big, 0)) Assert.all_close(spartan.std(sp_big, 1).glom(), np.std(np_big, 1))
def test_bincount(self): src = np.asarray([1, 1, 1, 2, 2, 5, 5, 10]) Assert.all_eq( spartan.bincount(spartan.from_numpy(src)).glom(), np.bincount(src))
def test_sum_scan(self): source = np.ones(ARRAY_SIZE, np.float32) self.all_eq_helper(from_numpy(source, tile_hint), source) for axis in range(len(ARRAY_SIZE)): self.all_eq_helper(from_numpy(source, tile_hint), source, axis)