docstr: Save the model weights at the provided filepath.
  param filepath: String or PathLike, path to the file to save the weights to.
        When saving in TensorFlow format, this is the prefix used for checkpoint files
        (multiple files are generated). Note that the '.h5' suffix causes weights to be
        saved in HDF5 format.
  param overwrite: Whether to silently overwrite any existing file at the target location,
        or provide the user with a manual prompt.
  param save_format: Either 'tf' or 'h5'.
        A filepath ending in '.h5' or '.keras' will default to HDF5 if save_format is None.
        Otherwise None defaults to 'tf'.
  param options: Optional tf.train.CheckpointOptions object that specifies options for saving
        weights.
  :return:
code: def save_weights(
      self,
      filepath: str,
      overwrite: bool = True,
      save_format: Optional[str] = None,
      options: Optional["SaveOptions"] = None,
  ) -> None:
      """
      Save the model weights at the provided filepath.
      param filepath: String or PathLike, path to the file to save the weights to.
            When saving in TensorFlow format, this is the prefix used for checkpoint files
            (multiple files are generated). Note that the '.h5' suffix causes weights to be
            saved in HDF5 format.
      param overwrite: Whether to silently overwrite any existing file at the target location,
            or provide the user with a manual prompt.
      param save_format: Either 'tf' or 'h5'.
            A filepath ending in '.h5' or '.keras' will default to HDF5 if save_format is None.
            Otherwise None defaults to 'tf'.
      param options: Optional tf.train.CheckpointOptions object that specifies options for saving
            weights.
      :return:
      """
      params = dict(
          filepath=filepath,
          overwrite=overwrite,
          save_format=save_format,
          options=options,
      )
      ray.get(
          [w.save_weights.remote(**params) for w in self.remote_workers]
      )
  
imports: import os
  import types
  from bigdl.orca.common import SafePickle
  import shutil
  import tempfile
  import logging
  import ray
  from bigdl.dllib.utils import log4Error
  from bigdl.dllib.utils.file_utils import is_local_path
  from bigdl.orca.data.file import enable_multi_fs_save, enable_multi_fs_load
  from bigdl.orca.data.ray_xshards import RayXShards
  from bigdl.orca.learn.dl_cluster import RayDLCluster
  from bigdl.orca.learn.tf2.tf_runner import TFRunner
  from bigdl.orca.learn.ray_estimator import Estimator
  from bigdl.orca.learn.utils import maybe_dataframe_to_xshards, dataframe_to_xshards, convert_predict_xshards_to_dataframe, update_predict_xshards, process_xshards_of_pandas_dataframe, make_data_creator, add_predict_to_pd_xshards
  from bigdl.orca.data.file import get_remote_file_to_local, get_remote_dir_to_local, is_file
  from bigdl.orca.data.utils import process_spark_xshards
  from bigdl.dllib.utils.log4Error import invalidInputError
  from bigdl.orca.ray import OrcaRayContext
  from typing import TYPE_CHECKING, Dict, List, Callable, Union, Optional
label_desc: Use image node_id 14 for calling the TensorFlow2Estimator obj's underlying member method code with example usage: obj.save_weights(filepath, overwrite, save_format, options) without return types