提交 a77bd9d2 authored 作者: ChienliMa's avatar ChienliMa

Add tests of scalar.round.grad in tensor/tests/test_basic.py

上级 92b5bbdb
...@@ -1099,6 +1099,10 @@ _grad_broadcast_unary_normal = dict( ...@@ -1099,6 +1099,10 @@ _grad_broadcast_unary_normal = dict(
#empty = [numpy.asarray([])] # XXX: should this be included? #empty = [numpy.asarray([])] # XXX: should this be included?
) )
_grad_broadcast_unary_normal_no_complex_no_corner_case = copymod(
_grad_broadcast_unary_normal_no_complex,
without=['corner_case'])
_grad_broadcast_unary_abs1_no_complex = dict( _grad_broadcast_unary_abs1_no_complex = dict(
normal=[numpy.asarray(rand_ranged(-1, 1, (2, 3)), dtype=floatX)], normal=[numpy.asarray(rand_ranged(-1, 1, (2, 3)), dtype=floatX)],
) )
...@@ -1216,13 +1220,16 @@ TruncTester = makeBroadcastTester( ...@@ -1216,13 +1220,16 @@ TruncTester = makeBroadcastTester(
RoundHalfToEvenTester = makeBroadcastTester( RoundHalfToEvenTester = makeBroadcastTester(
op=tensor.round_half_to_even, op=tensor.round_half_to_even,
expected=numpy.round, expected=lambda a: numpy.asarray(numpy.round(a), a.dtype),
good=_good_broadcast_unary_normal_float_no_complex) good=_good_broadcast_unary_normal_float_no_complex,
# TODO: Why complex are accepted in the next one? grad=_grad_broadcast_unary_normal_no_complex_no_corner_case)
RoundHalfToEvenInplaceTester = makeBroadcastTester( RoundHalfToEvenInplaceTester = makeBroadcastTester(
op=inplace.round_half_to_even_inplace, op=inplace.round_half_to_even_inplace,
expected=numpy.round, expected=lambda a: numpy.asarray(numpy.round(a), a.dtype),
good=_good_broadcast_unary_normal_float, good=_good_broadcast_unary_normal_float_no_complex,
grad=_grad_broadcast_unary_normal_no_complex_no_corner_case,
inplace=True) inplace=True)
#numpy.vectorize don't handle correctly empty ndarray. #numpy.vectorize don't handle correctly empty ndarray.
...@@ -1230,13 +1237,15 @@ RoundHalfToEvenInplaceTester = makeBroadcastTester( ...@@ -1230,13 +1237,15 @@ RoundHalfToEvenInplaceTester = makeBroadcastTester(
#This happen in float32 mode. #This happen in float32 mode.
RoundHalfAwayFromZeroTester = makeBroadcastTester( RoundHalfAwayFromZeroTester = makeBroadcastTester(
op=tensor.round_half_away_from_zero, op=tensor.round_half_away_from_zero,
expected=theano.scalar.basic.round_half_away_from_zero_vec, expected=lambda a:theano.scalar.basic.round_half_away_from_zero_vec(a),
good=_good_broadcast_unary_normal_float_no_empty_no_complex) good=_good_broadcast_unary_normal_float_no_empty_no_complex,
grad=_grad_broadcast_unary_normal_no_complex_no_corner_case)
#_good_broadcast_unary_normal_float) #_good_broadcast_unary_normal_float)
RoundHalfAwayFromZeroInplaceTester = makeBroadcastTester( RoundHalfAwayFromZeroInplaceTester = makeBroadcastTester(
op=inplace.round_half_away_from_zero_inplace, op=inplace.round_half_away_from_zero_inplace,
expected=theano.scalar.basic.round_half_away_from_zero_vec, expected=lambda a:theano.scalar.basic.round_half_away_from_zero_vec(a),
good=_good_broadcast_unary_normal_float_no_empty_no_complex, good=_good_broadcast_unary_normal_float_no_empty_no_complex,
grad=_grad_broadcast_unary_normal_no_complex_no_corner_case,
inplace=True) inplace=True)
SqrTester = makeBroadcastTester(op=tensor.sqr, SqrTester = makeBroadcastTester(op=tensor.sqr,
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论