Closed Charlottecuc closed 4 years ago
Besides, I successfully trained the model by using the LJ dataset and the synthezised voice is quite well. I also noticed that during the training process, the l_mle_normal is negative:
My question is, why the loss will become negative?
Thank you!
I think the negative loss is normal, since the loss is log- scalar, which can be negative.
However, I encountered another issue that the grad_norm is larger than you (starting from ~50 and decrease to ~5, then increase to ~10), while it seems that your grad norm is always ~1.
@Charlottecuc Yes, the negative loss is normal, as it stans for negative log-likelihood of data. If you encounter NAN loss, I have no perfect solution, but I can give you a suggestion.
You can change configs add_noise
to false, and fp16_run
to false. Switching on/off theses configs may help to increase numerical stability.
@jaywalnut310 Hi. I changed add_noise
to false and it seems that the model is more stable than before. Besides, after changing the "add_noise" to false, do I also need to change the value of "noise_scale" in the inference time? Thanks!
add_noise
is about whether to add noise in the input data or not. It is not related with noise_scale
. At inference time, you can change noise_scale
between 0 to 1 for finding best sample quality.
Hi. I tried to train the model by using a 24-hour mandarin dataset and encountered the following gradient overflow and negative loss problem.
I only changed the "data" part of the config file and modified the "text" folder (cmudict.py, & symbols.py by adding some mandarn phonemes ):
Could you give me any suggestion? Thank you!