提交 d24d1a6c authored 作者: Dustin Webb's avatar Dustin Webb

Disabled nan/infinity checks for the Pow*Testor.

上级 cdc32336
...@@ -922,27 +922,36 @@ _grad_broadcast_pow_normal = dict(same_shapes = (rand_ranged(1, 5, (2, 3)), rand ...@@ -922,27 +922,36 @@ _grad_broadcast_pow_normal = dict(same_shapes = (rand_ranged(1, 5, (2, 3)), rand
#complex3 = (rand(2,3),randcomplex(2,3)), #complex3 = (rand(2,3),randcomplex(2,3)),
#empty1 = (numpy.asarray([]), numpy.asarray([1])), #empty1 = (numpy.asarray([]), numpy.asarray([1])),
#empty2 = (numpy.asarray([0]), numpy.asarray([])), #empty2 = (numpy.asarray([0]), numpy.asarray([])),
x_eq_zero = (
numpy.asarray([0.], dtype=config.floatX),
numpy.asarray([2.], dtype=config.floatX)
), # Test for issue 1780
) )
#empty2 case is not supported by numpy. #empty2 case is not supported by numpy.
_good_broadcast_pow_normal_float_pow = copy(_good_broadcast_pow_normal_float) _good_broadcast_pow_normal_float_pow = copy(_good_broadcast_pow_normal_float)
del _good_broadcast_pow_normal_float_pow["empty2"] del _good_broadcast_pow_normal_float_pow["empty2"]
_grad_broadcast_pow_normal["x_eq_zero"] = (
numpy.asarray([0.], dtype=config.floatX), # Disable NAN checking for pow operator per issue #1780
numpy.asarray([2.], dtype=config.floatX) m = copy(theano.compile.get_default_mode())
) m.check_isfinite = False
PowTester = makeBroadcastTester( PowTester = makeBroadcastTester(
op=pow, op=pow,
expected=lambda x, y: check_floatX((x, y), x ** y), expected=lambda x, y: check_floatX((x, y), x ** y),
good=_good_broadcast_pow_normal_float, good=_good_broadcast_pow_normal_float,
grad=_grad_broadcast_pow_normal, grad=_grad_broadcast_pow_normal,
name='Pow') name='Pow',
mode=m
PowInplaceTester = makeBroadcastTester(op=inplace.pow_inplace, )
expected=lambda x, y: x ** y,
good = _good_broadcast_pow_normal_float_pow, PowInplaceTester = makeBroadcastTester(
grad = _grad_broadcast_pow_normal, op=inplace.pow_inplace,
inplace = True) expected=lambda x, y: x ** y,
good=_good_broadcast_pow_normal_float_pow,
grad=_grad_broadcast_pow_normal,
inplace=True,
mode=m
)
#Those are corner case when rounding. Their is many rounding algo. #Those are corner case when rounding. Their is many rounding algo.
#c round() fct and numpy round are not the same! #c round() fct and numpy round are not the same!
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论