Esempio n. 1
0
    def __init__(self, hp_path, steps=0):
        self.hp_Path = hp_path
        self.gpu_id = int(os.getenv('RANK', '0'))
        self.num_gpus = int(os.getenv("WORLD_SIZE", '1'))

        self.hp = Recursive_Parse(
            yaml.load(open(self.hp_Path, encoding='utf-8'),
                      Loader=yaml.Loader))

        if not torch.cuda.is_available():
            self.device = torch.device('cpu')
        else:
            self.device = torch.device('cuda:{}'.format(self.gpu_id))
            torch.backends.cudnn.enabled = True
            torch.backends.cudnn.benchmark = True
            torch.cuda.set_device(self.gpu_id)

        self.steps = steps

        self.Datset_Generate()
        self.Model_Generate()
        self.Load_Checkpoint()
        self._Set_Distribution()

        self.scalar_dict = {
            'Train': defaultdict(float),
            'Evaluation': defaultdict(float),
        }

        self.writer_Dict = {
            'Train': Logger(os.path.join(self.hp.Log_Path, 'Train')),
            'Evaluation': Logger(os.path.join(self.hp.Log_Path, 'Evaluation')),
        }
Esempio n. 2
0
    def __init__(self, hp_path: str, checkpoint_path: str):
        super().__init__()
        self.hp = Recursive_Parse(
            yaml.load(open(hp_path, encoding='utf-8'), Loader=yaml.Loader))

        self.model = GE2E(self.hp)
        self.Load_Checkpoint(path=checkpoint_path)
        self.model.eval()

        for param in self.model.parameters():
            param.requires_grad = False
Esempio n. 3
0
matplotlib.use('agg')
import matplotlib.pyplot as plt
from scipy.io import wavfile
from random import sample

from Logger import Logger
from Modules import GlowTTS, MLE_Loss
from Datasets import Dataset, Inference_Dataset, Prosody_Check_Dataset, Collater, Inference_Collater, Prosody_Check_Collater
from Noam_Scheduler import Modified_Noam_Scheduler
from Radam import RAdam

from Speaker_Embedding.Modules import Encoder as Speaker_Embedding, Normalize

from Arg_Parser import Recursive_Parse
hp = Recursive_Parse(
    yaml.load(open('Hyper_Parameters.yaml', encoding='utf-8'),
              Loader=yaml.Loader))

if not hp.Device is None:
    os.environ['CUDA_VISIBLE_DEVICES'] = hp.Device

if not torch.cuda.is_available():
    device = torch.device('cpu')
else:
    device = torch.device('cuda:0')
    torch.backends.cudnn.benchmark = True
    torch.cuda.set_device(0)

logging.basicConfig(
    level=logging.INFO,
    stream=sys.stdout,
Esempio n. 4
0
            except KeyboardInterrupt:
                self.Save_Checkpoint()
                exit(1)

        self.tqdm.close()
        logging.info('Finished training.')


if __name__ == '__main__':
    argParser = argparse.ArgumentParser()
    argParser.add_argument('-hp',
                           '--hyper_parameters',
                           required=True,
                           type=str)
    argParser.add_argument('-s', '--steps', default=0, type=int)
    argParser.add_argument('-p', '--port', default=54321, type=int)
    argParser.add_argument('-r', '--local_rank', default=0, type=int)
    args = argParser.parse_args()

    hp = Recursive_Parse(
        yaml.load(open(args.hyper_parameters, encoding='utf-8'),
                  Loader=yaml.Loader))
    os.environ['CUDA_VISIBLE_DEVICES'] = hp.Device

    if hp.Use_Multi_GPU:
        init_distributed(rank=int(os.getenv('RANK', '0')),
                         num_gpus=int(os.getenv("WORLD_SIZE", '1')),
                         dist_backend='nccl',
                         dist_url='tcp://127.0.0.1:{}'.format(args.port))
    new_Trainer = Trainer(hp_path=args.hyper_parameters, steps=args.steps)
    new_Trainer.Train()
Esempio n. 5
0
import torch
import numpy as np
import yaml, logging, math

from RPR_MHA import RPR_Multihead_Attention
from Gradient_Reversal_Layer import GRL
from Speaker_Embedding.Modules import Encoder as GE2E, Normalize as GE2E_Normalize

from Arg_Parser import Recursive_Parse
hp = Recursive_Parse(
    yaml.load(open('Hyper_Parameters.yaml', encoding='utf-8'),
              Loader=yaml.Loader))


class GlowTTS(torch.nn.Module):
    def __init__(self):
        super(GlowTTS, self).__init__()

        self.layer_Dict = torch.nn.ModuleDict()

        if hp.Mode.upper() in ['SE', 'GR']:
            if hp.Speaker_Embedding.Type.upper() == 'LUT':
                self.layer_Dict['LUT'] = torch.nn.Embedding(
                    num_embeddings=hp.Speaker_Embedding.Num_Speakers,
                    embedding_dim=hp.Speaker_Embedding.Embedding_Size,
                )
                torch.nn.init.uniform_(self.layer_Dict['LUT'].weight, -1.0,
                                       1.0)
            elif hp.Speaker_Embedding.Type.upper() == 'GE2E':
                self.layer_Dict['GE2E'] = GE2E(
                    mel_dims=hp.Sound.Mel_Dim,