微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Tensorflow lite 模型精度降低

如何解决Tensorflow lite 模型精度降低

我正在研究由 tensorflow 提供的 simple_audio 命令识别模型。我已成功将模型转换为 tflite 模型。但是,转换后的模型的准确性已经急剧下降。我对这两个模型使用了相同的测试数据集,但后者表现不佳。我也尝试过量化感知训练,但没有太大变化。 我使用 signal.stft 来推导给定音频文件的频谱图,因为我不能在推理代码中使用 tf.stft。我尝试了很多不同的方法来调试它,但遇到了问题。

我能想到的唯一区别在于生成频谱图的过程。

IN TF 模型是这样完成的:

def get_spectrogram(waveform):

 zero_padding = tf.zeros([16000] - tf.shape(waveform),dtype=tf.float32)
 waveform = tf.cast(waveform,tf.float32)
 equal_length = tf.concat([waveform,zero_padding],0)
 spectrogram = tf.signal.stft(
  equal_length,frame_length=255,frame_step=128)
 spectrogram = tf.abs(spectrogram)
 return spectrogram

虽然在 tflite 模型中它写成:

def get_spectrogram1(mySound):
 y=np.shape(mySound)
 res = int(''.join(map(str,y)))
 zero_padding=np.zeros((16000) - res,dtype=np.float32)
 equal_length=np.concatenate((mySound,zero_padding),axis=0)
 f,t,Zw= signal.stft(equal_length,nperseg=247,noverlap=122)
 Zw=np.absolute(Zw)
 return Zw

有人可以指出一些选项或建议吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。