MCPcopy Create free account
hub / github.com/MoonInTheRiver/DiffSinger / p_losses

Method p_losses

usr/diff/shallow_diffusion_tts.py:293–311  ·  view source on GitHub ↗
(self, x_start, t, cond, noise=None, nonpadding=None)

Source from the content-addressed store, hash-verified

291 )
292
293 def p_losses(self, x_start, t, cond, noise=None, nonpadding=None):
294 noise = default(noise, lambda: torch.randn_like(x_start))
295
296 x_noisy = self.q_sample(x_start=x_start, t=t, noise=noise)
297 x_recon = self.denoise_fn(x_noisy, t, cond)
298
299 if self.loss_type == 'l1':
300 if nonpadding is not None:
301 loss = ((noise - x_recon).abs() * nonpadding.unsqueeze(1)).mean()
302 else:
303 # print('are you sure w/o nonpadding?')
304 loss = (noise - x_recon).abs().mean()
305
306 elif self.loss_type == 'l2':
307 loss = F.mse_loss(noise, x_recon)
308 else:
309 raise NotImplementedError()
310
311 return loss
312
313 def forward(self, txt_tokens, mel2ph=None, spk_embed=None,
314 ref_mels=None, f0=None, uv=None, energy=None, infer=False):

Callers 2

forwardMethod · 0.95
forwardMethod · 0.45

Calls 2

q_sampleMethod · 0.95
defaultFunction · 0.70

Tested by

no test coverage detected