我正在尝试将音频样本定期添加到Tensorboard,这与计算图无关。我在Keras上工作,并且创建了一个自定义回调,以便在每个时期结束时记录音频文件。
除了音频文件为空,即音频文件的长度为零且没有任何播放,一切似乎都正常。
下面是重现该问题的最小可行回调示例。
class TensorBoardAudio(Callback):
def on_epoch_end(self, epoch, logs=None):
writer = tf.summary.FileWriter(LOG_DIR)
data, fs = sf.read('/path/to/wavfile.wav', dtype='float32')
audio = tf.Summary.Audio(encoded_audio_string=data.tobytes(),
content_type='audio/wav',
sample_rate=fs,
length_frames=len(data))
summary = tf.Summary(value=[tf.Summary.Value(tag='test', audio=audio)])
writer.add_summary(summary, epoch)
writer.flush()
writer.close()
我可以从data.tobytes()
复制音频,所以我知道有数据在传递,我只是看不到自己在做什么错。