提交 41f6111a authored 作者: Olivier Delalleau's avatar Olivier Delalleau

Fixed names of some tests

This solves some crashes when running ``theano-nose`` with option ``--batch``.
上级 a22a1212
...@@ -2688,6 +2688,10 @@ def rint(x): ...@@ -2688,6 +2688,10 @@ def rint(x):
""" """
# see decorator for function body # see decorator for function body
# Give it a simple name instead of the complex one that would automatically
# be derived from `tensor.round_half_to_even`.
rint.__name__ = 'rint'
@structured_monoid(tensor.sgn) @structured_monoid(tensor.sgn)
def sgn(x): def sgn(x):
......
...@@ -2241,7 +2241,7 @@ class MultinomialTester(utt.InferShapeTester): ...@@ -2241,7 +2241,7 @@ class MultinomialTester(utt.InferShapeTester):
def elemwise_checker(op, expected_f, gap=None, test_dtypes=None, def elemwise_checker(op, expected_f, gap=None, test_dtypes=None,
grad_test=True): grad_test=True, name=None):
"""Return the appropriate test class for the elemwise on sparse. """Return the appropriate test class for the elemwise on sparse.
:param op: Op to test. :param op: Op to test.
...@@ -2268,13 +2268,14 @@ def elemwise_checker(op, expected_f, gap=None, test_dtypes=None, ...@@ -2268,13 +2268,14 @@ def elemwise_checker(op, expected_f, gap=None, test_dtypes=None,
test_dtypes = sparse.all_dtypes test_dtypes = sparse.all_dtypes
class Tester(unittest.TestCase): class Tester(unittest.TestCase):
__name__ = op.__name__.capitalize() + 'Tester'
def setUp(self): def setUp(self):
super(Tester, self).setUp() super(Tester, self).setUp()
self.op = op self.op = op
self.expected_f = expected_f self.expected_f = expected_f
self.gap = gap self.gap = gap
# Ensure the test's name is correct.
assert eval(self.__class__.__name__) is self.__class__
def test_op(self): def test_op(self):
for format in sparse.sparse_formats: for format in sparse.sparse_formats:
...@@ -2387,7 +2388,15 @@ def elemwise_checker(op, expected_f, gap=None, test_dtypes=None, ...@@ -2387,7 +2388,15 @@ def elemwise_checker(op, expected_f, gap=None, test_dtypes=None,
verify_grad_sparse(self.op, verify_grad_sparse(self.op,
data, data,
structured=True) structured=True)
Tester.__name__ = op.__name__ + "Tester"
# Set proper class name to uniquely identify tests.
# Note that it is important to run this code *outside* of the `Tester`
# class itself, otherwise it will not work properly for some reason.
if name is None:
name = op.__name__.capitalize() + 'Tester'
Tester.__name__ = name
assert 'Roundhalftoeven' not in Tester.__name__
return Tester return Tester
...@@ -2420,32 +2429,39 @@ StructuredSigmoidTester = elemwise_checker( ...@@ -2420,32 +2429,39 @@ StructuredSigmoidTester = elemwise_checker(
test_dtypes=[m for m in sparse.all_dtypes test_dtypes=[m for m in sparse.all_dtypes
if (not m in sparse.complex_dtypes and if (not m in sparse.complex_dtypes and
not m.startswith('uint'))], not m.startswith('uint'))],
gap=(-5, 5)) gap=(-5, 5),
name='StructuredSigmoidTester')
StructuredExpTester = elemwise_checker( StructuredExpTester = elemwise_checker(
sparse.structured_exp, sparse.structured_exp,
structure_function(numpy.exp)) structure_function(numpy.exp),
name='StructuredExpTester')
StructuredLogTester = elemwise_checker( StructuredLogTester = elemwise_checker(
sparse.structured_log, sparse.structured_log,
structure_function(numpy.log), structure_function(numpy.log),
gap=(0.5, 10)) gap=(0.5, 10),
name='StructuredLogTester')
StructuredPowTester = elemwise_checker( StructuredPowTester = elemwise_checker(
lambda x: sparse.structured_pow(x, 2), lambda x: sparse.structured_pow(x, 2),
structure_function(lambda x: numpy.power(x, 2))) structure_function(lambda x: numpy.power(x, 2)),
name='StructuredPowTester')
StructuredMinimumTester = elemwise_checker( StructuredMinimumTester = elemwise_checker(
lambda x: structured_minimum(x, 2), lambda x: structured_minimum(x, 2),
structure_function(lambda x: numpy.minimum(x, 2))) structure_function(lambda x: numpy.minimum(x, 2)),
name='StructuredMinimumTester')
StructuredMaximumTester = elemwise_checker( StructuredMaximumTester = elemwise_checker(
lambda x: structured_maximum(x, 2), lambda x: structured_maximum(x, 2),
structure_function(lambda x: numpy.maximum(x, 2))) structure_function(lambda x: numpy.maximum(x, 2)),
name='StructuredMaximumTester')
StructuredAddTester = elemwise_checker( StructuredAddTester = elemwise_checker(
lambda x: structured_add(x, 2), lambda x: structured_add(x, 2),
structure_function(lambda x: numpy.add(x, 2))) structure_function(lambda x: numpy.add(x, 2)),
name='StructuredAddTester')
SinTester = elemwise_checker( SinTester = elemwise_checker(
sparse.sin, sparse.sin,
...@@ -2456,12 +2472,12 @@ TanTester = elemwise_checker( ...@@ -2456,12 +2472,12 @@ TanTester = elemwise_checker(
numpy.tan, numpy.tan,
gap=(-1, 1)) gap=(-1, 1))
ArcSinTester = elemwise_checker( ArcsinTester = elemwise_checker(
sparse.arcsin, sparse.arcsin,
numpy.arcsin, numpy.arcsin,
gap=(-1, 1)) gap=(-1, 1))
ArcTanTester = elemwise_checker( ArctanTester = elemwise_checker(
sparse.arctan, sparse.arctan,
numpy.arctan) numpy.arctan)
...@@ -2469,7 +2485,7 @@ SinhTester = elemwise_checker( ...@@ -2469,7 +2485,7 @@ SinhTester = elemwise_checker(
sparse.sinh, sparse.sinh,
numpy.sinh) numpy.sinh)
ArcSinhTester = elemwise_checker( ArcsinhTester = elemwise_checker(
sparse.arcsinh, sparse.arcsinh,
numpy.arcsinh, numpy.arcsinh,
gap=(-1, 1)) gap=(-1, 1))
...@@ -2479,7 +2495,7 @@ TanhTester = elemwise_checker( ...@@ -2479,7 +2495,7 @@ TanhTester = elemwise_checker(
numpy.tanh, numpy.tanh,
gap=(-1, 1)) gap=(-1, 1))
ArcTanhTester = elemwise_checker( ArctanhTester = elemwise_checker(
sparse.arctanh, sparse.arctanh,
numpy.arctanh, numpy.arctanh,
gap=(-0.9, 1)) gap=(-0.9, 1))
...@@ -2521,13 +2537,13 @@ Expm1Tester = elemwise_checker( ...@@ -2521,13 +2537,13 @@ Expm1Tester = elemwise_checker(
sparse.expm1, sparse.expm1,
numpy.expm1) numpy.expm1)
Deg2RadTester = elemwise_checker( Deg2radTester = elemwise_checker(
sparse.deg2rad, sparse.deg2rad,
numpy.deg2rad, numpy.deg2rad,
test_dtypes=[m for m in sparse.all_dtypes test_dtypes=[m for m in sparse.all_dtypes
if not m in sparse.complex_dtypes]) if not m in sparse.complex_dtypes])
Rad2DegTester = elemwise_checker( Rad2degTester = elemwise_checker(
sparse.rad2deg, sparse.rad2deg,
numpy.rad2deg, numpy.rad2deg,
test_dtypes=[m for m in sparse.all_dtypes test_dtypes=[m for m in sparse.all_dtypes
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论