Allow models to provide an additional loss
This commit is contained in:
@@ -944,6 +944,12 @@ class SDTrainer(BaseSDTrainProcess):
|
||||
|
||||
loss = loss + additional_loss
|
||||
|
||||
if hasattr(self.sd, "get_additional_loss"):
|
||||
additional_model_loss = self.sd.get_additional_loss(pred, target)
|
||||
if additional_model_loss is not None:
|
||||
loss = loss + additional_model_loss
|
||||
self.additional_logs["additional_model_loss"] = additional_model_loss.item()
|
||||
|
||||
if self.train_config.max_loss_debug and self.train_config.max_loss is not None:
|
||||
if loss.item() > self.train_config.max_loss:
|
||||
print_acc(f"Loss {loss.item()} is greater than max loss {self.train_config.max_loss}. Clipping to max loss.")
|
||||
|
||||
Reference in New Issue
Block a user