code: def _program_from_tf_ssa(self):
      # Notes:
      # - "flatten_while_loop_namespaces" should be after "constant_propagation"
      #   as it changes node names which constant propagation pass is relying on
      #   to perform session.run(), renamed nodes are not understandable for TF.
      tf_passes = [
          # delete_asserts,  # FIXME: rdar://62472804
          constant_propagation,
          rewrite_control_flow_functions,
          flatten_sub_graph_namespaces,
          remove_variable_nodes,
          fuse_dilation_conv,
      ]
  
      if self.debug:
          for tf_pass in _tqdm(
              tf_passes,
              desc="Running TensorFlow Graph Passes",
              unit=" passes",
          ):
              try:
                  tf_pass(self._tf_ssa)
              except Exception as e:
                  _logging.exception(
                      'Exception in pass "{}": {}'.format(tf_pass, e)
                  )
                  _logging.info(
                      "Ignoring exception and continuing to next pass"
                  )
  
      else:
          for tf_pass in _tqdm(
              tf_passes,
              desc="Running TensorFlow Graph Passes",
              unit=" passes",
          ):
              tf_pass(self._tf_ssa)
  
      if self.debug:
          import graphviz
  
          dot_string = self._tf_ssa.get_dot_string(
              annotation=True,
              name_and_op_style=True,
              highlight_debug_nodes=[],
          )
          graphviz.Source(dot_string).view(
              filename="/tmp/ssa_after_tf_passes", cleanup=True
          )
  
      converter = TF2Converter(self._tf_ssa, **self.kwargs)
      return converter.convert()
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import logging
  import os.path
  from six import string_types
  from tqdm import tqdm
  import tensorflow
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework.convert_to_constants import convert_variables_to_constants_v2
  from tensorflow.python.framework.function_def_to_graph import function_def_to_graph
  from tensorflow.python.keras.saving import saving_utils
  from tensorflow.lite.python.util import run_graph_optimizations
  from tensorflow.lite.python.util import get_grappler_config
  from .converter import TF2Converter
  from coremltools.converters.mil.frontend.tensorflow.basic_graph_ops import fill_outputs
  from coremltools.converters.mil.frontend.tensorflow.tf_graph_pass import constant_propagation, remove_variable_nodes, tensor_array_resource_removal, insert_get_tuple, delete_disconnected_nodes, fuse_dilation_conv
  from coremltools.converters.mil.frontend.tensorflow2.tf_graph_pass import flatten_sub_graph_namespaces, rewrite_control_flow_functions
  from coremltools.converters.mil.frontend.tensorflow.tfssa import NetworkEnsemble, SSAFunction
  from coremltools.converters.mil.frontend.tensorflow.parsed_tf_node import ParsedTFNode
  from coremltools.converters.mil.frontend.tensorflow.load import TFLoader
label_desc: Use image node_id 4 for calling the TF2Loader obj's underlying member method code with example usage: obj._program_from_tf_ssa() and returns: converter