Example #1
0
    def get_optimizer(self) -> List:
        """Initiate and return the GAN optimizers based on the config parameters.

        It returnes 2 optimizers in a list. First one is for the generator and the second one is for the discriminator.

        Returns:
            List: optimizers.
        """
        gen_parameters = chain(
            self.text_encoder.parameters(),
            self.posterior_encoder.parameters(),
            self.flow.parameters(),
            self.duration_predictor.parameters(),
            self.waveform_decoder.parameters(),
        )
        # add the speaker embedding layer
        if hasattr(
                self, "emb_g"
        ) and self.args.use_speaker_embedding and not self.args.use_d_vector_file:
            gen_parameters = chain(gen_parameters, self.emb_g.parameters())
        # add the language embedding layer
        if hasattr(self, "emb_l") and self.args.use_language_embedding:
            gen_parameters = chain(gen_parameters, self.emb_l.parameters())

        optimizer0 = get_optimizer(self.config.optimizer,
                                   self.config.optimizer_params,
                                   self.config.lr_gen,
                                   parameters=gen_parameters)
        optimizer1 = get_optimizer(self.config.optimizer,
                                   self.config.optimizer_params,
                                   self.config.lr_disc, self.disc)
        return [optimizer0, optimizer1]
Example #2
0
    def get_optimizer(self) -> List:
        """Initiate and return the GAN optimizers based on the config parameters.

        It returnes 2 optimizers in a list. First one is for the generator and the second one is for the discriminator.

        Returns:
            List: optimizers.
        """
        optimizer1 = get_optimizer(
            self.config.optimizer, self.config.optimizer_params, self.config.lr_gen, self.model_g
        )
        optimizer2 = get_optimizer(
            self.config.optimizer, self.config.optimizer_params, self.config.lr_disc, self.model_d
        )
        return [optimizer1, optimizer2]
Example #3
0
 def get_optimizer(self):
     return get_optimizer(self.config.optimizer,
                          self.config.optimizer_params, self.config.lr,
                          self)