simplify_mul, ) class TestSigmoid: def setup_method(self): utt.seed_rng() def test_elemwise(self): utt.verify_grad(sigmoid, [np.random.rand(3, 4)]) TestSigmoidBroadcast = 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", eps=1e-8, ) TestUltraFastSigmoidBroadcast = makeBroadcastTester( op=ultra_fast_sigmoid, expected=upcast_int8_nfunc( lambda inputs: check_floatX(inputs, 1 / (1 + np.exp(-inputs)))
binary_crossentropy(sigmoid(a).reshape((-1, 1)), 1).sum(), ): ga = aesara.grad(c, a) # This only works when "specialize" options are included mode = aesara.compile.get_default_mode().including("fast_run") fga = aesara.function([a], ga, mode=mode) utt.assert_allclose( fga(np.array([[[[30.0]]]], dtype=config.floatX)), np.zeros((1, 1, 1, 1), dtype=config.floatX), ) TestSoftsign = makeBroadcastTester( op=softsign, expected=upcast_int8_nfunc( lambda inputs: check_floatX(inputs, inputs / (1.0 + np.fabs(inputs)))), good=_good_broadcast_unary_normal_float_no_complex, name="SoftsignTester", ) class TestSigmoidBinaryCrossentropy: def _get_test_inputs(self, n=50): pred, target = np.random.randn(2, n).astype(config.floatX) # apply sigmoid to target, but not pred return [pred, 1 / (1 + np.exp(-target))] def test_matches_binary_crossentropy(self): # Test sigmoid_binary_crossentropy(p, t) == # binary_crossentropy(sigmoid(p), t).
expected_gamma = [] expected_gammaln = [] expected_psi = [] expected_tri_gamma = [] expected_chi2sf = [] expected_gammainc = [] expected_gammaincc = [] expected_gammau = [] expected_gammal = [] expected_j0 = [] expected_j1 = [] expected_jv = [] expected_i0 = [] expected_i1 = [] expected_iv = [] expected_sigmoid = (upcast_int8_nfunc( lambda inputs: check_floatX(inputs, np.log1p(np.exp(inputs)))), ) skip_scipy = "scipy is not present" TestErfBroadcast = makeBroadcastTester( op=aet.erf, expected=expected_erf, good=_good_broadcast_unary_normal, grad=_grad_broadcast_unary_normal, eps=2e-10, mode=mode_no_scipy, skip=skip_scipy, ) TestErfInplaceBroadcast = makeBroadcastTester( op=inplace.erf_inplace, expected=expected_erf, good=_good_broadcast_unary_normal_float,