from theano.tensor.tests.test_basic import ( makeBroadcastTester, copymod, check_floatX, upcast_int8_nfunc, _good_broadcast_unary_normal_no_complex) class T_sigmoid(unittest.TestCase): def setUp(self): utt.seed_rng() def test_elemwise(self): utt.verify_grad(sigmoid, [np.random.rand(3, 4)]) SigmoidTester = makeBroadcastTester( op=sigmoid, expected=upcast_int8_nfunc( lambda inputs: check_floatX(inputs, 1 / (1 + np.exp(-inputs)))), good=copymod(_good_broadcast_unary_normal_no_complex, without=['uint16' ]), # The reason that 'uint16' is excluted is that # theano works well but numpy overflows resulting # in an assertion error. # grad=_grad_broadcast_unary_normal, name='SigmoidTester', ) UltraFastSigmoidTester = makeBroadcastTester( op=ultra_fast_sigmoid, expected=upcast_int8_nfunc( lambda inputs: check_floatX(inputs, 1 / (1 + np.exp(-inputs)))), good=copymod(_good_broadcast_unary_normal_no_complex, without=['uint16']), # numpy fucnting overflows with uint16.
from theano.tensor.tests.test_basic import (makeBroadcastTester, rand, check_floatX, upcast_int8_nfunc, _good_broadcast_unary_normal_no_complex) class T_sigmoid(unittest.TestCase): def setUp(self): utt.seed_rng() def test_elemwise(self): utt.verify_grad(sigmoid, [numpy.random.rand(3, 4)]) SigmoidTester = makeBroadcastTester( op=sigmoid, expected=upcast_int8_nfunc(lambda inputs: check_floatX( inputs, 1 / (1 + numpy.exp(-inputs)))), good=_good_broadcast_unary_normal_no_complex, # grad=_grad_broadcast_unary_normal, name='SigmoidTester', ) UltraFastSigmoidTester = makeBroadcastTester( op=ultra_fast_sigmoid, expected=upcast_int8_nfunc(lambda inputs: check_floatX( inputs, 1 / (1 + numpy.exp(-inputs)))), good=_good_broadcast_unary_normal_no_complex, # grad=_grad_broadcast_unary_normal, name='UltraFastSigmoidTester', # This is an approx of the sigmoid. That is why we raise eps eps=5e-2)