code: def _get_graph(while_op, func_attr_name, attr_graph_name):
      """Returns `FuncGraph` for the given function attribute.
  
      Args:
        while_op: The While Operation.
        func_attr_name: string
        attr_graph_name: cached forward graph name
  
      Returns:
        `FuncGraph`
      """
      func_graph = getattr(while_op, attr_graph_name, None)
      if func_graph is None:
          # TODO(srbs): Handle TensorShapeProto in function_def_to_graph.input_shapes.
          input_shapes = [
              tensor_shape.TensorShape(s)
              for s in while_op.get_attr("output_shapes")
          ]
          func_name = while_op.get_attr(func_attr_name).name
          func_graph = util.get_func_graph(
              while_op, input_shapes, func_name
          )
      func_graph._while = while_op
      return func_graph
  
imports: import collections
  from tensorflow.core.framework import attr_value_pb2
  from tensorflow.python.client import pywrap_tf_session
  from tensorflow.python.eager import backprop_util
  from tensorflow.python.framework import auto_control_deps_utils
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import func_graph
  from tensorflow.python.framework import indexed_slices
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import tensor
  from tensorflow.python.framework import tensor_shape
  from tensorflow.python.framework import tensor_spec
  from tensorflow.python.framework import tensor_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import control_flow_ops
  from tensorflow.python.ops import control_flow_util
  from tensorflow.python.ops import control_flow_util_v2
  from tensorflow.python.ops import default_gradient
  from tensorflow.python.ops import gen_functional_ops
  from tensorflow.python.ops import gen_resource_variable_ops
  from tensorflow.python.ops import gradients_util
  from tensorflow.python.ops import handle_data_util
  from tensorflow.python.ops import list_ops
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import tensor_array_ops
  from tensorflow.python.ops import while_v2_indexed_slices_rewriter
  from tensorflow.python.util import compat
  from tensorflow.python.util import nest
  from tensorflow.python.util import object_identity
  from tensorflow.python.util import variable_utils
label_desc: Use image node_id 8 for calling a global function with example usage: _get_graph(while_op, func_attr_name, attr_graph_name) and returns: func_graph