code: def __getattr__(self, helper_name):
      if helper_name not in self._registry:
          raise AttributeError(
              "Helper function {} not "
              "registered.".format(helper_name)
          )
  
      def scope_wrapper(*args, **kwargs):
          new_kwargs = {}
          if helper_name != "arg_scope":
              if len(args) > 0 and isinstance(args[0], ModelHelper):
                  model = args[0]
              elif "model" in kwargs:
                  model = kwargs["model"]
              else:
                  raise RuntimeError(
                      "The first input of helper function should be model. "
                      "Or you can provide it in kwargs as model=<your_model>."
                  )
              new_kwargs = copy.deepcopy(model.arg_scope)
          func = self._registry[helper_name]
          var_names, _, varkw, _ = inspect.getargspec(func)
          if varkw is None:
              # this helper function does not take in random **kwargs
              new_kwargs = {
                  var_name: new_kwargs[var_name]
                  for var_name in var_names
                  if var_name in new_kwargs
              }
  
          cur_scope = get_current_scope()
          new_kwargs.update(cur_scope.get(helper_name, {}))
          new_kwargs.update(kwargs)
          return func(*args, **new_kwargs)
  
      scope_wrapper.__name__ = helper_name
      return scope_wrapper
  
imports: import sys
  import copy
  import inspect
  from past.builtins import basestring
  from caffe2.python.model_helper import ModelHelper
  from caffe2.python.helpers.algebra import *
  from caffe2.python.helpers.arg_scope import *
  from caffe2.python.helpers.array_helpers import *
  from caffe2.python.helpers.control_ops import *
  from caffe2.python.helpers.conv import *
  from caffe2.python.helpers.db_input import *
  from caffe2.python.helpers.dropout import *
  from caffe2.python.helpers.elementwise_linear import *
  from caffe2.python.helpers.fc import *
  from caffe2.python.helpers.nonlinearity import *
  from caffe2.python.helpers.normalization import *
  from caffe2.python.helpers.pooling import *
  from caffe2.python.helpers.quantization import *
  from caffe2.python.helpers.tools import *
  from caffe2.python.helpers.train import *
label_desc: Use image node_id 2 for calling the HelperWrapper obj's underlying member method code with example usage: obj.__getattr__(helper_name) and returns: scope_wrapper, func