          Parameters
          ----------
          loss_wrapper: :class:`lib.model.losses.LossWrapper`
              The wrapper loss function that holds the face losses
          loss_func: :class:`keras.losses.Loss`
              The loss function to add to the loss wrapper
          weight: float
              The amount of weight to apply to the given loss function
          """
          logger.debug("Adding loss function: %s, weight: %s", loss_function, weight)
 
</s> remove         loss_wrapper.add_loss(loss_function,
 </s> add         loss_wrapper.add_loss(self._get_function(loss_function), </s> remove                                 loss_function: Callable,
 </s> add                                 loss_function: str, </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),
        loss_function: str
          Parameters
          ----------
          loss_wrapper: :class:`lib.model.losses.LossWrapper`
              The wrapper loss function that holds the face losses
        loss_function: str
              The loss function to add to the loss wrapper
          weight: float
              The amount of weight to apply to the given loss function
          """
          logger.debug("Adding loss function: %s, weight: %s", loss_function, weight)
keep keep keep keep replace 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