          Any keyword arguments to supply to the loss function at initialization.
      """
      function: Union[Callable[[tf.Tensor, tf.Tensor], tf.Tensor], Any] = k_losses.mae
      init: bool = True
      kwargs: Dict[str, Any] = field(default_factory=dict)
  
  
  class Loss():
      """ Holds loss names and functions for an Autoencoder.
  
 
</s> remove     function: Union[Callable[[tf.Tensor, tf.Tensor], tf.Tensor], Any] = k_losses.mae
 </s> add     function: T.Union[T.Callable[[tf.Tensor, tf.Tensor], tf.Tensor], T.Any] = k_losses.mae </s> remove     def _set_loss_functions(self, output_names: List[str]):
 </s> add     def _set_loss_functions(self, output_names: T.List[str]): </s> remove     def _get_function(self, name: str) -> Callable[[tf.Tensor, tf.Tensor], tf.Tensor]:
 </s> add     def _get_function(self, name: str) -> T.Callable[[tf.Tensor, tf.Tensor], tf.Tensor]: </s> remove         self._sessions[self._session_id] = dict(timestamp=time.time(),
                                                no_logs=no_logs,
                                                loss_names=[],
                                                batchsize=0,
                                                iterations=0,
                                                config=config_changeable_items)

    def add_session_loss_names(self, loss_names: List[str]) -> None:
 </s> add         self._sessions[self._session_id] = {"timestamp": time.time(),
                                            "no_logs": no_logs,
                                            "loss_names": [],
                                            "batchsize": 0,
                                            "iterations": 0,
                                            "config": config_changeable_items}

    def add_session_loss_names(self, loss_names: T.List[str]) -> None: </s> remove         logger.verbose("Using %s optimizer", optimizer.title())  # type:ignore
 </s> add         logger.verbose("Using %s optimizer", optimizer.title())  # type:ignore[attr-defined]
    kwargs: T.Dict[str, T.Any] = field(default_factory=dict)
          Any keyword arguments to supply to the loss function at initialization.
      """
      function: Union[Callable[[tf.Tensor, tf.Tensor], tf.Tensor], Any] = k_losses.mae
      init: bool = True
    kwargs: T.Dict[str, T.Any] = field(default_factory=dict)
  
  
  class Loss():
      """ Holds loss names and functions for an Autoencoder.
  
keep keep keep keep replace keep keep keep keep keep
 Remove plaidML support (#1325)

* Remove PlaidML reference from readme files

* Remove AMD option from installers

* remove amd requirements and update setup.py

* remove plaidml test from CI workflow

* gpustats: remove plaidml backend

* plaid removals:
  - faceswap.py - python version check
  - setup.cfg - plaidml typing ignore
  - lib.keras_utils - All plaid code
  - lib.launcher.py - All plaidml checks and configuration

* remove tf2.2 specific code from GUI event reader

* lib.model - remove all plaidml implementations

* plugins.extract - remove plaidml code

* plugins.train remove plaidml code

* lib.convert - remove plaidml code

* tools.model: remove plaidml code

* Remove plaidML tests from unit tests

* remove plaidml_utils and docsting cleanups

* Remove plaidML refs from configs

* fix keras imports 
plugins/train/model/_base/settings.py