summary.py 文件源码

python
阅读 25 收藏 0 点赞 0 评论 0

项目:tensorboard 作者: dmlc 项目源码 文件源码
def audio(tag, tensor, sample_rate=44100):
    tensor = makenp(tensor)
    tensor = tensor.squeeze()
    assert (tensor.ndim == 1), 'input tensor should be 1 dimensional.'

    tensor_list = [int(32767.0 * x) for x in tensor]
    import io
    import wave
    import struct
    fio = io.BytesIO()
    Wave_write = wave.open(fio, 'wb')
    Wave_write.setnchannels(1)
    Wave_write.setsampwidth(2)
    Wave_write.setframerate(sample_rate)
    tensor_enc = b''
    for v in tensor_list:
        tensor_enc += struct.pack('<h', v)

    Wave_write.writeframes(tensor_enc)
    Wave_write.close()
    audio_string = fio.getvalue()
    fio.close()
    audio = Summary.Audio(sample_rate=sample_rate, num_channels=1, length_frames=len(tensor_list),
                          encoded_audio_string=audio_string, content_type='audio/wav')

    return Summary(value=[Summary.Value(tag=tag, audio=audio)])
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号