From 2ca8ee78530ef4e0b855fbeb499d69f456c86296 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stardust=C2=B7=E5=87=8F?= Date: Sun, 3 Sep 2023 12:36:35 +0800 Subject: [PATCH] try --- models.py | 40 +++++++++++++++++++--------------------- 1 file changed, 19 insertions(+), 21 deletions(-) diff --git a/models.py b/models.py index 9951bf6..87026d3 100644 --- a/models.py +++ b/models.py @@ -15,8 +15,6 @@ from torch.nn.utils import weight_norm, remove_weight_norm, spectral_norm from commons import init_weights, get_padding from text import symbols, num_tones, num_languages class DurationDiscriminator(nn.Module): #vits2 - # TODO : not using "spk conditioning" for now according to the paper. - # Can be a better discriminator if we use it. def __init__(self, in_channels, filter_channels, kernel_size, p_dropout, gin_channels=0): super().__init__() @@ -28,9 +26,9 @@ class DurationDiscriminator(nn.Module): #vits2 self.drop = nn.Dropout(p_dropout) self.conv_1 = nn.Conv1d(in_channels, filter_channels, kernel_size, padding=kernel_size//2) - #self.norm_1 = modules.LayerNorm(filter_channels) + self.norm_1 = modules.LayerNorm(filter_channels) self.conv_2 = nn.Conv1d(filter_channels, filter_channels, kernel_size, padding=kernel_size//2) - #self.norm_2 = modules.LayerNorm(filter_channels) + self.norm_2 = modules.LayerNorm(filter_channels) self.dur_proj = nn.Conv1d(1, filter_channels, 1) self.pre_out_conv_1 = nn.Conv1d(2*filter_channels, filter_channels, kernel_size, padding=kernel_size//2) @@ -38,8 +36,8 @@ class DurationDiscriminator(nn.Module): #vits2 self.pre_out_conv_2 = nn.Conv1d(filter_channels, filter_channels, kernel_size, padding=kernel_size//2) self.pre_out_norm_2 = modules.LayerNorm(filter_channels) - # if gin_channels != 0: - # self.cond = nn.Conv1d(gin_channels, in_channels, 1) + if gin_channels != 0: + self.cond = nn.Conv1d(gin_channels, in_channels, 1) self.output_layer = nn.Sequential( nn.Linear(filter_channels, 1), @@ -50,13 +48,13 @@ class DurationDiscriminator(nn.Module): #vits2 dur = self.dur_proj(dur) x = torch.cat([x, dur], dim=1) x = self.pre_out_conv_1(x * x_mask) - #x = torch.relu(x) - #x = self.pre_out_norm_1(x) - #x = self.drop(x) + x = torch.relu(x) + x = self.pre_out_norm_1(x) + x = self.drop(x) x = self.pre_out_conv_2(x * x_mask) - #x = torch.relu(x) - #x = self.pre_out_norm_2(x) - #x = self.drop(x) + x = torch.relu(x) + x = self.pre_out_norm_2(x) + x = self.drop(x) x = x * x_mask x = x.transpose(1, 2) output_prob = self.output_layer(x) @@ -64,17 +62,17 @@ class DurationDiscriminator(nn.Module): #vits2 def forward(self, x, x_mask, dur_r, dur_hat, g=None): x = torch.detach(x) - # if g is not None: - # g = torch.detach(g) - # x = x + self.cond(g) + if g is not None: + g = torch.detach(g) + x = x + self.cond(g) x = self.conv_1(x * x_mask) - #x = torch.relu(x) - #x = self.norm_1(x) - #x = self.drop(x) + x = torch.relu(x) + x = self.norm_1(x) + x = self.drop(x) x = self.conv_2(x * x_mask) - #x = torch.relu(x) - #x = self.norm_2(x) - #x = self.drop(x) + x = torch.relu(x) + x = self.norm_2(x) + x = self.drop(x) output_probs = [] for dur in [dur_r, dur_hat]: