      is_predict: bool
          ``True`` if the model is being loaded for inference. ``False`` if the model is being loaded
          for training.
      """
      def __init__(self,
                   plugin: "ModelBase",
                   model_dir: str,
                   is_predict: bool,
                   save_optimizer: Literal["never", "always", "exit"]) -> None:
 
</s> remove     def __init__(self, plugin: "ModelBase", model_dir: str, is_predict: bool) -> None:
 </s> add     def __init__(self,
                 plugin: "ModelBase",
                 model_dir: str,
                 is_predict: bool,
                 save_optimizer: Literal["never", "always", "exit"]) -> None: </s> remove     def __call__(self, y_true: tf.Tensor, y_pred: tf.Tensor) -> tf.Tensor:
 </s> add     def call(self, y_true: tf.Tensor, y_pred: tf.Tensor) -> tf.Tensor:
    save_optimizer: ["never", "always", "exit"]
        When to save the optimizer weights. `"never"` never saves the optimizer weights. `"always"`
        always saves the optimizer weights. `"exit"` only saves the optimizer weights on an exit
        request.
      is_predict: bool
          ``True`` if the model is being loaded for inference. ``False`` if the model is being loaded
          for training.
    save_optimizer: ["never", "always", "exit"]
        When to save the optimizer weights. `"never"` never saves the optimizer weights. `"always"`
        always saves the optimizer weights. `"exit"` only saves the optimizer weights on an exit
        request.
      """
      def __init__(self,
                   plugin: "ModelBase",
                   model_dir: str,
                   is_predict: bool,
                   save_optimizer: Literal["never", "always", "exit"]) -> None:
keep keep add keep keep keep keep keep keep
 Training: Add setting option to save optimizer weights 
plugins/train/model/_base/io.py