docstr: Save KerasOpenVINOModel to local as xml and bin file
  
  :param path: Directory to save the model.
docstr_tok: ["Save","KerasOpenVINOModel","to","local","as","xml","and","bin","file",":","param","path",":","Directory","to","save","the","model","."]
code: def _save(self, path, compression="fp32"):
      """
      Save KerasOpenVINOModel to local as xml and bin file
  
      :param path: Directory to save the model.
      """
      self.ov_model._model_exists_or_err()
  
      path = Path(path)
      path.mkdir(exist_ok=True)
      self._dump_status(path)
  
      xml_path = path / self.status["xml_path"]
      save(self.ov_model.ie_network, xml_path)
  
      attrs = {"_mode": self._mode, "_arg_names": self._arg_names}
      with open(path / self.status["attr_path"], "wb") as f:
          SafePickle.dump(attrs, f)
  
      # save compile attr
      if self._is_compiled:
          kwargs = {
              "run_eagerly": self._run_eagerly,
              "steps_per_execution": int(self._steps_per_execution),
          }
          if self.compiled_loss is not None:
              kwargs["loss"] = self.compiled_loss._user_losses
              kwargs[
                  "loss_weights"
              ] = self.compiled_loss._user_loss_weights
          if self.compiled_metrics is not None:
              user_metric = self.compiled_metrics._user_metrics
              if isinstance(user_metric, (list, tuple)):
                  kwargs["metrics"] = [m._name for m in user_metric]
              else:
                  kwargs["metrics"] = user_metric._name
              weighted_metrics = (
                  self.compiled_metrics._user_weighted_metrics
              )
              if weighted_metrics is not None:
                  if isinstance(weighted_metrics, (list, str)):
                      kwargs["weighted_metrics"] = [
                          m._name for m in weighted_metrics
                      ]
                  else:
                      kwargs[
                          "weighted_metrics"
                      ] = weighted_metrics._name
          with open(
              Path(path) / self.status["compile_path"], "wb"
          ) as f:
              SafePickle.dump(kwargs, f)
  
imports: import os
  from bigdl.nano.utils.common import SafePickle
  from pathlib import Path
  from typing import Sequence, Any, Union, Dict
  from tempfile import TemporaryDirectory
  import numpy
  import tensorflow
  from bigdl.nano.utils.common import invalidInputError
  from bigdl.nano.utils.tf import try_fake_inference
  from bigdl.nano.utils.tf import convert_all, tensors_to_numpy
  from bigdl.nano.tf.model import KerasOptimizedModel
  from ..core.model import OpenVINOModel
  from ..core.utils import save
  from .utils import export
  from .dataloader import KerasOpenVINODataLoader
  from .metric import KerasOpenVINOMetric
label_desc: Use image node_id 8 for calling the KerasOpenVINOModel obj's underlying member method code with example usage: obj._save(path, compression) without return types