class_docstr: Test utility functions found in 'sigm.py'.
code: def test_is_1pexp(self):
      backup = config.warn.identify_1pexp_bug
      config.warn.identify_1pexp_bug = False
      try:
          x = tensor.vector("x")
          exp = tensor.exp
          assert is_1pexp(1 + exp(x), False) == (False, x)
          assert is_1pexp(exp(x) + 1, False) == (False, x)
          for neg, exp_arg in imap(
              lambda x: is_1pexp(x, only_process_constants=False),
              [(1 + exp(-x)), (exp(-x) + 1)],
          ):
              assert not neg and theano.gof.graph.is_same_graph(
                  exp_arg, -x
              )
          assert is_1pexp(1 - exp(x), False) is None
          assert is_1pexp(2 + exp(x), False) is None
          assert is_1pexp(exp(x) + 2, False) is None
          assert is_1pexp(exp(x) - 1, False) is None
          assert is_1pexp(-1 + exp(x), False) is None
          assert is_1pexp(1 + 2 * exp(x), False) is None
      finally:
          config.warn.identify_1pexp_bug = backup
  
imports: from __future__ import absolute_import, print_function, division
  import unittest
  import numpy
  from theano.compat import imap
  import theano.tensor.inplace
  from theano.tensor import basic
  from theano import tensor
  from theano import config
  from theano.gof.opt import check_stack_trace
  from theano.tests import unittest_tools
  from theano.tensor.nnet import sigmoid, sigmoid_inplace, softplus, ultra_fast_sigmoid, hard_sigmoid
  from theano.tensor.nnet.sigm import compute_mul, is_1pexp, parse_mul_tree, perform_sigm_times_exp, register_local_1msigmoid, simplify_mul
  from theano.tensor.tests.test_basic import makeBroadcastTester, copymod, check_floatX, upcast_int8_nfunc, _good_broadcast_unary_normal_no_complex
label_desc: Use image node_id 3 for calling the T_sigmoid_utils obj's underlying member method code with example usage: obj.test_is_1pexp() without return types