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
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))
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)
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")
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")
def get_validation_test_data(self): return get_speaker_pickle(self.val_data + "_test")
def get_validation_train_data(self): return get_speaker_pickle(self.val_data + "_train")