| 24 | reason="Pytorch >= 1.7 is required.", |
| 25 | ) |
| 26 | def test_prodiff( |
| 27 | reduction_factor, |
| 28 | spk_embed_dim, |
| 29 | spk_embed_integration_type, |
| 30 | diffusion_scheduler, |
| 31 | encoder_type, |
| 32 | use_gst, |
| 33 | spks, |
| 34 | langs, |
| 35 | ): |
| 36 | model = ProDiff( |
| 37 | idim=10, |
| 38 | odim=5, |
| 39 | adim=4, |
| 40 | aheads=2, |
| 41 | elayers=1, |
| 42 | eunits=4, |
| 43 | reduction_factor=reduction_factor, |
| 44 | encoder_type=encoder_type, |
| 45 | duration_predictor_layers=2, |
| 46 | duration_predictor_chans=4, |
| 47 | duration_predictor_kernel_size=3, |
| 48 | energy_predictor_layers=2, |
| 49 | energy_predictor_chans=4, |
| 50 | energy_predictor_kernel_size=3, |
| 51 | energy_predictor_dropout=0.5, |
| 52 | energy_embed_kernel_size=9, |
| 53 | energy_embed_dropout=0.5, |
| 54 | pitch_predictor_layers=2, |
| 55 | pitch_predictor_chans=4, |
| 56 | pitch_predictor_kernel_size=3, |
| 57 | pitch_predictor_dropout=0.5, |
| 58 | pitch_embed_kernel_size=9, |
| 59 | pitch_embed_dropout=0.5, |
| 60 | spks=spks, |
| 61 | langs=langs, |
| 62 | spk_embed_dim=spk_embed_dim, |
| 63 | spk_embed_integration_type=spk_embed_integration_type, |
| 64 | use_gst=use_gst, |
| 65 | gst_tokens=2, |
| 66 | gst_heads=4, |
| 67 | gst_conv_layers=2, |
| 68 | gst_conv_chans_list=[2, 4], |
| 69 | gst_conv_kernel_size=3, |
| 70 | gst_conv_stride=2, |
| 71 | gst_gru_layers=1, |
| 72 | gst_gru_units=4, |
| 73 | use_masking=False, |
| 74 | use_weighted_masking=True, |
| 75 | denoiser_layers=1, |
| 76 | denoiser_channels=4, |
| 77 | diffusion_steps=1, |
| 78 | diffusion_scheduler=diffusion_scheduler, |
| 79 | ) |
| 80 | |
| 81 | inputs = dict( |
| 82 | text=torch.randint(1, 10, (2, 2)), |
| 83 | text_lengths=torch.tensor([2, 1], dtype=torch.long), |