Path: blob/master/tensorflow_tts/configs/melgan.py
1558 views
# -*- coding: utf-8 -*-1# Copyright 2020 Minh Nguyen (@dathudeptrai)2#3# Licensed under the Apache License, Version 2.0 (the "License");4# you may not use this file except in compliance with the License.5# You may obtain a copy of the License at6#7# http://www.apache.org/licenses/LICENSE-2.08#9# Unless required by applicable law or agreed to in writing, software10# distributed under the License is distributed on an "AS IS" BASIS,11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.12# See the License for the specific language governing permissions and13# limitations under the License.14"""MelGAN Config object."""151617from tensorflow_tts.configs import BaseConfig181920class MelGANGeneratorConfig(BaseConfig):21"""Initialize MelGAN Generator Config."""2223def __init__(24self,25out_channels=1,26kernel_size=7,27filters=512,28use_bias=True,29upsample_scales=[8, 8, 2, 2],30stack_kernel_size=3,31stacks=3,32nonlinear_activation="LeakyReLU",33nonlinear_activation_params={"alpha": 0.2},34padding_type="REFLECT",35use_final_nolinear_activation=True,36is_weight_norm=True,37initializer_seed=42,38**kwargs39):40"""Init parameters for MelGAN Generator model."""41self.out_channels = out_channels42self.kernel_size = kernel_size43self.filters = filters44self.use_bias = use_bias45self.upsample_scales = upsample_scales46self.stack_kernel_size = stack_kernel_size47self.stacks = stacks48self.nonlinear_activation = nonlinear_activation49self.nonlinear_activation_params = nonlinear_activation_params50self.padding_type = padding_type51self.use_final_nolinear_activation = use_final_nolinear_activation52self.is_weight_norm = is_weight_norm53self.initializer_seed = initializer_seed545556class MelGANDiscriminatorConfig(object):57"""Initialize MelGAN Discriminator Config."""5859def __init__(60self,61out_channels=1,62scales=3,63downsample_pooling="AveragePooling1D",64downsample_pooling_params={"pool_size": 4, "strides": 2,},65kernel_sizes=[5, 3],66filters=16,67max_downsample_filters=1024,68use_bias=True,69downsample_scales=[4, 4, 4, 4],70nonlinear_activation="LeakyReLU",71nonlinear_activation_params={"alpha": 0.2},72padding_type="REFLECT",73is_weight_norm=True,74initializer_seed=42,75**kwargs76):77"""Init parameters for MelGAN Discriminator model."""78self.out_channels = out_channels79self.scales = scales80self.downsample_pooling = downsample_pooling81self.downsample_pooling_params = downsample_pooling_params82self.kernel_sizes = kernel_sizes83self.filters = filters84self.max_downsample_filters = max_downsample_filters85self.use_bias = use_bias86self.downsample_scales = downsample_scales87self.nonlinear_activation = nonlinear_activation88self.nonlinear_activation_params = nonlinear_activation_params89self.padding_type = padding_type90self.is_weight_norm = is_weight_norm91self.initializer_seed = initializer_seed929394