class_docstr: There are the steps how the TF2Loader loads and converts the TF2 model
  1. Get the concrete functions from the Keras model (only 1 concrete function is supported now)
  2. Get the tensorflow graphdef from the concrete function by doing
     (a) calling tensorflow's convert_variables_to_constants_v2 API to freeze variables into constants
     (b) run grappler optimizations on the graphdef ("constfold", "dependency", "debug_stripper")
  3. Extract sub graph based on "outputs"
  4. Construct tfssa IR from graphdef
  5. Run tfssa graph passes
  6. Convert tfssa to program by TF2Converter
class_docstr_tok: ["There","are","the","steps","how","the","TF2Loader","loads","and","converts","the","TF2","model","1",".","Get","the","concrete","functions","from","the","Keras","model","(","only","1","concrete","function","is","supported","now",")","2",".","Get","the","tensorflow","graphdef","from","the","concrete","function","by","doing","(","a",")","calling","tensorflow","'s","convert_variables_to_constants_v2","API","to","freeze","variables","into","constants","(","b",")","run","grappler","optimizations","on","the","graphdef","(","``","constfold","''",",","``","dependency","''",",","``","debug_stripper","''",")","3",".","Extract","sub","graph","based","on","``","outputs","''","4",".","Construct","tfssa","IR","from","graphdef","5",".","Run","tfssa","graph","passes","6",".","Convert","tfssa","to","program","by","TF2Converter"]
code: def _run_tf_ssa_passes(self):
      tf_passes = self.tfssa_passes
  
      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:
                  logger.exception(
                      'Exception in pass "{}": {}'.format(tf_pass, e)
                  )
                  logger.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
          )
  
imports: import os.path
  from distutils.version import StrictVersion
  import tensorflow
  from tensorflow.lite.python.util import get_grappler_config
  from tensorflow.lite.python.util import run_graph_optimizations
  from tensorflow.python.eager import context
  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 tqdm import tqdm
  from coremltools import _logger
  from coremltools._deps import _get_version
  from coremltools.converters.mil.frontend.tensorflow2.tf_graph_pass import flatten_sub_graph_namespaces, rewrite_control_flow_functions
  from coremltools.converters.mil.frontend.tensorflow.basic_graph_ops import fill_outputs
  from coremltools.converters.mil.frontend.tensorflow.load import TFLoader
  from coremltools.converters.mil.frontend.tensorflow.parsed_tf_node import ParsedTFNode
  from coremltools.converters.mil.frontend.tensorflow.tf_graph_pass import constant_propagation, delete_disconnected_nodes, delete_unnecessary_constant_nodes, fuse_dilation_conv, insert_get_tuple, remove_variable_nodes, tensor_array_resource_removal
  from coremltools.converters.mil.frontend.tensorflow.tfssa import NetworkEnsemble, SSAFunction
  from coremltools.converters.mil.input_types import TensorType
  from .converter import TF2Converter
label_desc: Use image node_id 5 for calling the TF2Loader obj's underlying member method code with example usage: obj._run_tf_ssa_passes() without return types