fix loss normalization for ddp training

This commit is contained in:
haoneng.lhn 2023-12-08 16:39:38 +08:00
parent acb9a0fec8
commit ace42e5043

View File

@ -442,7 +442,7 @@ class UniASR(FunASRModel):
stats["loss"] = torch.clone(loss.detach())
# force_gatherable: to-device and to-tensor if scalar for DataParallel
if self.length_normalized_loss:
batch_size = (text_lengths + 1).sum().type_as(batch_size)
batch_size = int((text_lengths + 1).sum())
loss, stats, weight = force_gatherable((loss, stats, batch_size), loss.device)
return loss, stats, weight