[TTS]add diffusion module for training diffsinger #2832
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR types
New features
PR changes
Models
Describe
Add diffusion module for training diffsinger.
Use normalized mel-spec as
GaussianDiffusion
forward input, then you will get noised normalized mel-spec and the target noise added in. Compute l1 loss or mse loss of the noised mel-spec and the target noise with non-padding weights for denoising model training.Simple example for use the modules:
The method to compute loss and training denoising model can refer to train_text_to_image.py.
The inference process is refer to pipeline_stable_diffusion_img2img.py.
To implement
GaussianDiffusionShallow
in diffsinger, you should modify thenum_max_timesteps
to theK_step
during training to skip time steps that do not require training.