Keras + Tensorboard: генерировать аудио резюме - PullRequest
0 голосов
/ 13 апреля 2019

В настоящее время я тренирую модель улучшения речи с Keras (TF backend) и использую TensorBoard для визуализации метрик и т. Д.
Я бы хотел использовать встроенную панель аудио для прослушивания результатов по пути.

Я тренируюсь на большом наборе данных, используя fit_generator и пользовательский Sequence на основе это . Модель принимает фрагменты спектрограммы и возвращает фрагменты спектрограммы одинаковой формы.
Я уже подклассифицировал обратный вызов TensorBoard после this (с той разницей, что я в настоящее время заполняю validation_data одной партией для экономии времени). Все идет гладко, и я вижу гистограммы, распределения и изображения на моем тензорном столе.

Вот мой класс обратного вызова:

class ExtendedTensorBoard(TensorBoard):
    def __init__(self, data_generator, **kwargs):
        super().__init__(**kwargs)
        self.data_generator = data_generator

    def on_epoch_end(self, epoch, logs=None):
        # adds stuff to validation_data (NOTE only 1 batch)
        s_noisy, s_true = None, None
        # TODO loop over batches here
        s_noisy, s_true = self.data_generator[0]
        self.validation_data = [s_noisy, s_true, np.ones((self.batch_size)), 0]

        # call parent's func
        super().on_epoch_end(epoch, logs)

Посмотрев на keras обработку обратного вызова тензорной доски изображений Я подумал, что мне нужно извлечь предсказанные данные, выполнить необходимую обработку (в моем случае, манипулировать формой, обратный STFT и т. Д.) И сохранить ее с помощью аудио резюме.

Однако я не совсем понял:
* Где и когда прогнозируется self.validation_data, и как я могу получить его вывод?
* Как я могу объявить резюме в моем подклассе и "объединить" его с другими, объявленными в TensorBoard.set_model()?
* Что еще я должен заботиться в своем подклассе, чтобы это работало?

Заранее спасибо !!

...