class_docstr: Compatibility tests that use TF.
  
  Uses tf.Graph to serialize and run the functions; expects that `func`
  contains a `jax2tf.call_tf` and uses `jax2tf.convert` to generate a
  `tf.Graph` containing a XlaCallModule with the actual MLIR module.
class_docstr_tok: ["Compatibility","tests","that","use","TF",".","Uses","tf.Graph","to","serialize","and","run","the","functions",";","expects","that","`","func","`","contains","a","`","jax2tf.call_tf","`","and","uses","`","jax2tf.convert","`","to","generate","a","`","tf.Graph","`","containing","a","XlaCallModule","with","the","actual","MLIR","module","."]
code: def run_serialized(
      self,
      data: bctu.CompatTestData,
      polymorphic_shapes: Sequence[str] | None = None,
  ):
      root_dir = self.create_tempdir()
      deserialize_directory(data.mlir_module_serialized, root_dir)
      saved_model_dir = os.path.join(root_dir, "saved_model")
      loaded_model = tf.saved_model.load(saved_model_dir)
      return (loaded_model.call(*data.inputs).numpy(),)
  
imports: from __future__ import annotations
  import base64
  from collections.abc import Sequence
  import io
  import os
  import tarfile
  from typing import Callable, Optional
  from absl.testing import absltest
  from jax import config
  from jax._src import test_util
  from jax._src.internal_test_util import export_back_compat_test_util
  from jax._src.lib import xla_extension
  from jax.experimental import jax2tf
  from jax.experimental.jax2tf.tests.back_compat_testdata import tf_call_tf_function
  import jax.numpy
  import tensorflow
label_desc: Use image node_id 3 for calling the CompatTensoflowTest obj's underlying member method code with example usage: obj.run_serialized(data, polymorphic_shapes) and returns: loaded_model