From 2617518d91bf98081fc92e238849a9d560f7ba49 Mon Sep 17 00:00:00 2001 From: Eren Golge Date: Thu, 22 Mar 2018 21:13:33 -0700 Subject: [PATCH] masked loss --- layers/losses.py | 4 ++-- train.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/layers/losses.py b/layers/losses.py index 29ad7378..18f4099a 100644 --- a/layers/losses.py +++ b/layers/losses.py @@ -47,5 +47,5 @@ def L1LossMasked(input, target, length): # mask: (batch, max_len) mask = _sequence_mask(sequence_length=length, max_len=target.size(1)).unsqueeze(2) losses = losses * mask.float() - loss = losses.sum() / length.float().sum() - return loss / input.shape[0] \ No newline at end of file + loss = losses.sum() / (length.float().sum() * target.shape[2]) + return loss \ No newline at end of file diff --git a/train.py b/train.py index c4d34e2d..4e132662 100644 --- a/train.py +++ b/train.py @@ -240,7 +240,7 @@ def evaluate(model, criterion, data_loader, current_step): mel_output, linear_output, alignments = model.forward(text_input_var, mel_spec_var) # loss computation - mel_loss = criterion(mel_output, mel_spec_var, mel_lengths) + mel_loss = criterion(mel_output, mel_spec_var, mel_lengths_var) linear_loss = 0.5 * criterion(linear_output, linear_spec_var, mel_lengths_var) \ + 0.5 * criterion(linear_output[:, :, :n_priority_freq], linear_spec_var[: ,: ,:n_priority_freq],