提交 214cffcc authored 作者: Nicolas Bouchard's avatar Nicolas Bouchard 提交者: Frederic

pep8

上级 9db387c4
...@@ -152,7 +152,9 @@ class _HVStackTester(utt.InferShapeTester): ...@@ -152,7 +152,9 @@ class _HVStackTester(utt.InferShapeTester):
allow_input_downcast=True) allow_input_downcast=True)
tested = f(*blocks) tested = f(*blocks)
expected = self.expected_f(blocks, format=out_f, dtype=dtype) expected = self.expected_f(blocks,
format=out_f,
dtype=dtype)
assert np.allclose(tested.toarray(), expected.toarray()) assert np.allclose(tested.toarray(), expected.toarray())
assert tested.format == expected.format assert tested.format == expected.format
...@@ -248,73 +250,73 @@ class AddSSDataTester(utt.InferShapeTester): ...@@ -248,73 +250,73 @@ class AddSSDataTester(utt.InferShapeTester):
structured=True) structured=True)
class test_structured_add_s_v(unittest.TestCase): class StructuredAddSVTester(unittest.TestCase):
def setUp(self): def setUp(self):
utt.seed_rng() utt.seed_rng()
def test_structured_add_s_v_grad(self): def test_structured_add_s_v_grad(self):
sp_types = {'csc': sp.csc_matrix, sp_types = {'csc': sp.csc_matrix,
'csr': sp.csr_matrix} 'csr': sp.csr_matrix}
for format in ['csr', 'csc']: for format in ['csr', 'csc']:
for dtype in ['float32', 'float64']: for dtype in ['float32', 'float64']:
spmat = sp_types[format](random_lil((4, 3), dtype, 3)) spmat = sp_types[format](random_lil((4, 3), dtype, 3))
mat = np.asarray(np.random.rand(3), dtype=dtype) mat = np.asarray(np.random.rand(3), dtype=dtype)
theano.sparse.verify_grad_sparse(S2.structured_add_s_v, theano.sparse.verify_grad_sparse(S2.structured_add_s_v,
[spmat, mat], structured=True) [spmat, mat], structured=True)
def test_structured_add_s_v(self): def test_structured_add_s_v(self):
sp_types = {'csc': sp.csc_matrix, sp_types = {'csc': sp.csc_matrix,
'csr': sp.csr_matrix} 'csr': sp.csr_matrix}
for format in ['csr', 'csc']: for format in ['csr', 'csc']:
for dtype in ['float32', 'float64']: for dtype in ['float32', 'float64']:
x = theano.sparse.SparseType(format, dtype=dtype)() x = theano.sparse.SparseType(format, dtype=dtype)()
y = tensor.vector(dtype=dtype) y = tensor.vector(dtype=dtype)
f = theano.function([x, y], S2.structured_add_s_v(x, y)) f = theano.function([x, y], S2.structured_add_s_v(x, y))
spmat = sp_types[format](random_lil((4, 3), dtype, 3)) spmat = sp_types[format](random_lil((4, 3), dtype, 3))
spones = spmat.copy() spones = spmat.copy()
spones.data = np.ones_like(spones.data) spones.data = np.ones_like(spones.data)
mat = np.asarray(np.random.rand(3), dtype=dtype) mat = np.asarray(np.random.rand(3), dtype=dtype)
out = f(spmat, mat) out = f(spmat, mat)
assert np.allclose(out.toarray(), spones.multiply(spmat + mat)) assert np.allclose(out.toarray(), spones.multiply(spmat + mat))
class test_mul_s_v(unittest.TestCase): class MulSVTester(unittest.TestCase):
def setUp(self): def setUp(self):
utt.seed_rng() utt.seed_rng()
def test_structured_add_s_v_grad(self): def test_structured_add_s_v_grad(self):
sp_types = {'csc': sp.csc_matrix, sp_types = {'csc': sp.csc_matrix,
'csr': sp.csr_matrix} 'csr': sp.csr_matrix}
for format in ['csr', 'csc']: for format in ['csr', 'csc']:
for dtype in ['float32', 'float64']: for dtype in ['float32', 'float64']:
spmat = sp_types[format](random_lil((4, 3), dtype, 3)) spmat = sp_types[format](random_lil((4, 3), dtype, 3))
mat = np.asarray(np.random.rand(3), dtype=dtype) mat = np.asarray(np.random.rand(3), dtype=dtype)
theano.sparse.verify_grad_sparse(S2.mul_s_v, theano.sparse.verify_grad_sparse(S2.mul_s_v,
[spmat, mat], structured=True) [spmat, mat], structured=True)
def test_mul_s_v(self): def test_mul_s_v(self):
sp_types = {'csc': sp.csc_matrix, sp_types = {'csc': sp.csc_matrix,
'csr': sp.csr_matrix} 'csr': sp.csr_matrix}
for format in ['csr', 'csc']: for format in ['csr', 'csc']:
for dtype in ['float32', 'float64']: for dtype in ['float32', 'float64']:
x = theano.sparse.SparseType(format, dtype=dtype)() x = theano.sparse.SparseType(format, dtype=dtype)()
y = tensor.vector(dtype=dtype) y = tensor.vector(dtype=dtype)
f = theano.function([x, y], S2.mul_s_v(x, y)) f = theano.function([x, y], S2.mul_s_v(x, y))
spmat = sp_types[format](random_lil((4, 3), dtype, 3)) spmat = sp_types[format](random_lil((4, 3), dtype, 3))
mat = np.asarray(np.random.rand(3), dtype=dtype) mat = np.asarray(np.random.rand(3), dtype=dtype)
out = f(spmat, mat) out = f(spmat, mat)
assert np.allclose(out.toarray(), spmat.toarray() * mat) assert np.allclose(out.toarray(), spmat.toarray() * mat)
if __name__ == '__main__': if __name__ == '__main__':
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论