В настоящее время я тренирую модель улучшения речи с 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()
?
* Что еще я должен заботиться в своем подклассе, чтобы это работало?
Заранее спасибо !!