code: def test_ifelse(self):
      config1 = theano.config.profile
      config2 = theano.config.profile_memory
  
      try:
          theano.config.profile = True
          theano.config.profile_memory = True
  
          a, b = T.scalars("a", "b")
          x, y = T.scalars("x", "y")
  
          z = ifelse(T.lt(a, b), x * 2, y * 2)
  
          p = theano.ProfileStats(False, gpu_checks=False)
  
          if theano.config.mode in [
              "DebugMode",
              "DEBUG_MODE",
              "FAST_COMPILE",
          ]:
              m = "FAST_RUN"
          else:
              m = None
  
          f_ifelse = theano.function(
              [a, b, x, y], z, profile=p, name="test_ifelse", mode=m
          )
  
          val1 = 0.0
          val2 = 1.0
          big_mat1 = 10
          big_mat2 = 11
  
          f_ifelse(val1, val2, big_mat1, big_mat2)
  
      finally:
          theano.config.profile = config1
          theano.config.profile_memory = config2
  
file_path: Theano/theano/compile/tests/test_profiling.py
imports: from __future__ import absolute_import, print_function, division
  import unittest
  import numpy
  import theano
  from six.moves import StringIO
  import theano.tensor
  from theano.ifelse import ifelse
label_desc: Use image node_id 2 for calling the Test_profiling obj's underlying member method code with example usage: obj.test_ifelse() without return types