def update_stats(self, iteration, batchsizes, augmentation=None):
# stack = None
for i in range(iteration):
batch, bucket_idx, piece_id = self.reader.sample_minibatch(batchsizes)
audio_features, sentences, max_feature_length, max_sentence_length = self.extract_batch_features(batch, augmentation=augmentation)
x_batch, x_length_batch, t_batch, t_length_batch, bigram_batch = self.processor.features_to_minibatch(audio_features, sentences, max_feature_length, max_sentence_length, self.token_ids, self.id_blank)
# xp = cuda.get_array_module(x_batch)
for x, length in zip(x_batch, x_length_batch):
# if stack is None:
# stack = x[..., :length]
# else:
# stack = xp.concatenate((stack, x[..., :length]), axis=2)
self._update_stats_recursively(x[..., :length])
# x_mean, x_std = self.get_mean_and_std()
# true_mean = np.mean(stack, axis=2)
# true_std = np.std(stack, axis=2)
# print(xp.mean(abs(true_mean - x_mean), axis=(0, 2)))
# print(xp.mean(abs(true_std - x_std), axis=(0, 2)))
评论列表
文章目录