      """
      def __init__(self, config: dict) -> None:
          logger.debug("Initializing %s", self.__class__.__name__)
          self._config = config
          self._loss_dict = dict(gmsd=losses.GMSDLoss(),
                                 l_inf_norm=losses.LInfNorm(),
                                 laploss=losses.LaplacianPyramidLoss(),
                                 logcosh=k_losses.logcosh,
                                 ms_ssim=losses.MSSIMLoss(),
                                 mae=k_losses.mean_absolute_error,
                                 mse=k_losses.mean_squared_error,
                                 pixel_gradient_diff=losses.GradientLoss(),
                                 ssim=losses.DSSIMObjective(),
                                 smooth_loss=losses.GeneralizedLoss(),)
          self._mask_channels = self._get_mask_channels()
          self._inputs: List[keras.layers.Layer] = []
          self._names: List[str] = []
          self._funcs: Dict[str, Callable] = {}
          logger.debug("Initialized: %s", self.__class__.__name__)
 
</s> remove     if get_backend() == "amd" and isinstance(loss_func, losses.GMSDLoss):
        pytest.skip("GMSD Loss is not currently compatible with PlaidML")
 </s> add  </s> remove _LWIDS = ["DSSIMObjective", "GeneralizedLoss", "GMSDLoss", "GradientLoss", "LaplacianPyramidLoss",
          "LInfNorm", "logcosh", "mae", "mse", "MS-SSIM"]
 </s> add _LWIDS = ["DSSIMObjective", "FocalFrequencyLosse", "GeneralizedLoss", "GMSDLoss", "GradientLoss",
          "LaplacianPyramidLoss", "LInfNorm", "logcosh", "mae", "mse", "MS-SSIM"] </s> remove         if isinstance(loss_func, losses.GMSDLoss):
            pytest.skip("GMSD Loss is not currently compatible with PlaidML")
 </s> add         if isinstance(loss_func, losses.FocalFrequencyLoss):
            pytest.skip("FocalFrequencyLoss Loss is not currently compatible with PlaidML")
        self._loss_dict: Dict[str, Callable] = {}
      """
      def __init__(self, config: dict) -> None:
          logger.debug("Initializing %s", self.__class__.__name__)
          self._config = config
        self._loss_dict: Dict[str, Callable] = {}
        self._loss_dict: Dict[str, Callable] = {}
        self._loss_dict: Dict[str, Callable] = {}
        self._loss_dict: Dict[str, Callable] = {}
        self._loss_dict: Dict[str, Callable] = {}
        self._loss_dict: Dict[str, Callable] = {}
        self._loss_dict: Dict[str, Callable] = {}
        self._loss_dict: Dict[str, Callable] = {}
        self._loss_dict: Dict[str, Callable] = {}
        self._loss_dict: Dict[str, Callable] = {}
          self._mask_channels = self._get_mask_channels()
          self._inputs: List[keras.layers.Layer] = []
          self._names: List[str] = []
          self._funcs: Dict[str, Callable] = {}
          logger.debug("Initialized: %s", self.__class__.__name__)
keep keep keep keep replace replace replace replace replace replace replace replace replace replace keep keep keep keep keep
 Loss updates
  - Split Loss to own package
  - Add Focal Frequency Loss (Nvidia only)
  - Enable GMSD for AMD 
plugins/train/model/_base/settings.py