code: def test_immediate_scope_creation(self):
      # Create templates in scope a then call in scope b. make_template should
      # capture the scope the first time it is called, and make_immediate_template
      # should capture the scope at construction time.
      with variable_scope.variable_scope("ctor_scope"):
          # Create scope here:
          tmpl_immed = template.make_template(
              "a", variable_scoped_function, True
          )
          # default: create scope at __call__
          tmpl_defer = template.make_template(
              "b", variable_scoped_function, False
          )
      with variable_scope.variable_scope("call_scope"):
          inner_imm_var = tmpl_immed()
          inner_defer_var = tmpl_defer()
      outer_imm_var = tmpl_immed()
      outer_defer_var = tmpl_defer()
  
      self.assertIsNot(inner_imm_var, inner_defer_var)
      self.assertIs(outer_imm_var, inner_imm_var)
      self.assertIs(outer_defer_var, inner_defer_var)
  
      self.assertEqual("ctor_scope/a/dummy:0", inner_imm_var.name)
      self.assertEqual("call_scope/b/dummy:0", inner_defer_var.name)
  
imports: import functools
  import traceback
  from tensorflow.python.client import session
  from tensorflow.python.eager import context
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import random_seed
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import init_ops
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import template
  from tensorflow.python.ops import variable_scope
  from tensorflow.python.ops import variables
  import tensorflow.python.ops.nn_grad
  from tensorflow.python.platform import test
  from tensorflow.python.training import gradient_descent
label_desc: Use image node_id 21 for calling the TemplateTest obj's underlying member method code with example usage: obj.test_immediate_scope_creation() without return types