docstr: Renames the function with function name (src_func) to (tgt_func)
code: def rename_function(self, src_func, tgt_func):
      """
      Renames the function with function name (src_func) to (tgt_func)
      """
      if src_func not in self.functions:
          logging.warning("Couldn't find function name (%s).", src_func)
          return
      if tgt_func in self.functions:
          logging.warning(
              "(%s) already exists in some function name.", tgt_func
          )
          return
  
      self.functions[tgt_func] = self.functions.pop(src_func)
      logging.debug(
          "Successfully changed function name from (%s) to (%s)",
          src_func,
          tgt_func,
      )
  
imports: from __future__ import print_function
  from __future__ import division
  from __future__ import absolute_import
  import copy
  import logging
  from coremltools.converters.mil.mil import types
  from .basic_graph_ops import check_connections, const_determined_nodes
  from .dot_visitor import DotVisitor
  from .naming_utils import escape_fn_name
label_desc: Use image node_id 2 for calling the NetworkEnsemble obj's underlying member method code with example usage: obj.rename_function(src_func, tgt_func) without return types