Esempio n. 1
0
    def get_embeddings(self):
        X_train, y_train, speaker_train_names = load(
            get_speaker_pickle(self.get_validation_data_name() +
                               '_train_mfcc'))
        X_test, y_test, speaker_test_names = load(
            get_speaker_pickle(self.get_validation_data_name() + '_test_mfcc'))

        model = load(get_experiment_nets(self.name))

        set_of_embeddings = []
        set_of_speakers = []
        set_of_num_embeddings = []

        train_outputs = self.generate_outputs(X_train, model)
        test_outputs = self.generate_outputs(X_test, model)

        set_of_times = [np.zeros((len(y_test) + len(y_train)), dtype=int)]

        outputs, y_list, s_list = create_data_lists(False, train_outputs,
                                                    test_outputs, y_train,
                                                    y_test)

        embeddings, speakers, number_embeddings = generate_embeddings(
            outputs, y_list, len(model))

        set_of_embeddings.append(embeddings)
        set_of_speakers.append(speakers)
        set_of_num_embeddings.append(number_embeddings)
        checkpoints = [self.network_file]

        return checkpoints, set_of_embeddings, set_of_speakers, set_of_num_embeddings, set_of_times
Esempio n. 2
0
    def train_network(self):
        mixture_count = self.config.getint('gmm', 'mixturecount')
        X, y, speaker_names = load(
            get_speaker_pickle(self.config.get('train', 'pickle') + '_mfcc'))
        model = []

        for i in range(len(X)):
            features = X[i]
            gmm = mixture.GaussianMixture(n_components=mixture_count,
                                          covariance_type='diag',
                                          n_init=1)
            gmm.fit(features.transpose())
            speaker = {'mfccs': features, 'gmm': gmm}
            model.append(speaker)

        save(model, get_experiment_nets(self.name))
Esempio n. 3
0
    def train_network(self):
        # Get settings
        n_epochs = self.config.getint('pairwise_kldiv', 'n_epochs')
        batch_size = self.config.getint('pairwise_kldiv', 'batch_size')
        epoch_batches = self.config.getint('pairwise_kldiv', 'epoch_batches')
        train_filename = self.config.get('train', 'pickle')
        n_speakers = self.config.getint('train', 'n_speakers')

        # Create network, load path to input and output file
        network = create_network_n_speakers(n_speakers, self.config)
        train_file = get_speaker_pickle(train_filename)
        net_file = get_experiment_nets(self.checkpoints[0])

        train_network(network=network,
                      train_file=train_file,
                      network_file_out=net_file,
                      data_generator=self.dg,
                      num_epochs=n_epochs,
                      batch_size=batch_size,
                      epoch_batches=epoch_batches)
Esempio n. 4
0
 def get_validation_test_data(self):
     if self.dev_mode:
         return get_speaker_pickle(self.dev_val_data + "_test")
     else:
         return get_speaker_pickle(self.val_data + "_test")
Esempio n. 5
0
 def get_validation_test_data(self):
     #self.val_data = "speakers_40_clustering_vs_reynolds"
     print("validation_test_data ========>" + self.val_data)
     return get_speaker_pickle(self.val_data + "_test")
Esempio n. 6
0
 def get_validation_test_data(self):
     return get_speaker_pickle(self.val_data + "_test")
Esempio n. 7
0
 def get_validation_train_data(self):
     return get_speaker_pickle(self.val_data + "_train")