          self._names: List[str] = []
          self._funcs: Dict[str, Callable] = {}
          logger.debug("Initialized: %s", self.__class__.__name__)
  
      @property
      def names(self) -> List[str]:
          """ list: The list of loss names for the model. """
 
</s> remove         logcosh = losses.LogCosh() if get_backend() == "amd" else k_losses.logcosh
        self._loss_dict = dict(ffl=losses.FocalFrequencyLoss(),
                               gmsd=losses.GMSDLoss(),
                               l_inf_norm=losses.LInfNorm(),
                               laploss=losses.LaplacianPyramidLoss(),
                               logcosh=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(),)
 </s> add  </s> remove         shapes = [tuple(K.int_shape(output)[-3:]) for output in self._model.outputs]
 </s> add         shapes = [tuple(K.int_shape(output)[-3:]) for output in self.model.outputs] </s> remove         loss_wrapper.add_loss(loss_function,
 </s> add         loss_wrapper.add_loss(self._get_function(loss_function), </s> remove         loss_func: :class:`keras.losses.Loss`
 </s> add         loss_function: str </s> remove                      self._model.output_names, new_names)
        self._model.output_names = new_names
 </s> add                      self.model.output_names, new_names)
        self.model.output_names = new_names
        logcosh = losses.LogCosh() if get_backend() == "amd" else k_losses.logcosh
        self._loss_dict = dict(ffl=LossClass(function=losses.FocalFrequencyLoss),
                               gmsd=LossClass(function=losses.GMSDLoss),
                               l_inf_norm=LossClass(function=losses.LInfNorm),
                               laploss=LossClass(function=losses.LaplacianPyramidLoss),
                               logcosh=LossClass(function=logcosh,
                                                 init=False),
                               ms_ssim=LossClass(function=losses.MSSIMLoss),
                               mae=LossClass(function=k_losses.mean_absolute_error,
                                             init=False),
                               mse=LossClass(function=k_losses.mean_squared_error,
                                             init=False),
                               pixel_gradient_diff=LossClass(function=losses.GradientLoss),
                               ssim=LossClass(function=losses.DSSIMObjective),
                               smooth_loss=LossClass(function=losses.GeneralizedLoss))

          self._names: List[str] = []
          self._funcs: Dict[str, Callable] = {}
        logcosh = losses.LogCosh() if get_backend() == "amd" else k_losses.logcosh
        self._loss_dict = dict(ffl=LossClass(function=losses.FocalFrequencyLoss),
                               gmsd=LossClass(function=losses.GMSDLoss),
                               l_inf_norm=LossClass(function=losses.LInfNorm),
                               laploss=LossClass(function=losses.LaplacianPyramidLoss),
                               logcosh=LossClass(function=logcosh,
                                                 init=False),
                               ms_ssim=LossClass(function=losses.MSSIMLoss),
                               mae=LossClass(function=k_losses.mean_absolute_error,
                                             init=False),
                               mse=LossClass(function=k_losses.mean_squared_error,
                                             init=False),
                               pixel_gradient_diff=LossClass(function=losses.GradientLoss),
                               ssim=LossClass(function=losses.DSSIMObjective),
                               smooth_loss=LossClass(function=losses.GeneralizedLoss))

          logger.debug("Initialized: %s", self.__class__.__name__)
  
      @property
      def names(self) -> List[str]:
          """ list: The list of loss names for the model. """
keep add keep keep keep keep keep
 Core updates
   - Change loss loading mechanism
   - Autosize tooltips based on content size
   - Random linting + code modernisation 
plugins/train/model/_base/settings.py