我正在尝试根据此文档使用我自己的训练模型执行离线识别:https ://github.com/tensorflow/tfjs-models/tree/master/speech-commands
我遇到了与https://github.com/tensorflow/tfjs/issues/3820描述的相同的问题,并且我尝试了从那里建议的所有解决方案,包括 colab(预处理模型)支持https://colab.research.google .com/github/tensorflow/tfjs-models/blob/master/speech-commands/training/browser-fft/training_custom_audio_model_in_python.ipynb#scrollTo=1AjdTru5NnQQ与给定的wav文件配合良好,但在使用我的自带wav文件:</p>
filepath = '/my/own/file.wav'
file_contents = tf.io.read_file(filepath)
wavform = tf.expand_dims(tf.squeeze(tf.audio.decode_wav(
file_contents,
desired_channels=-1,
desired_samples=TARGET_SAMPLE_RATE).audio, axis=-1), 0)
cropped_waveform = tf.slice(waveform, begin=[0, 0], size=[1, EXPECTED_WAVEFORM_LEN])
spectrogram = tf.squeeze(preproc_model(cropped_waveform), axis=0)
print(spectrogram)
Output:
tf.Tensor(
[[[nan]
[nan]
[nan]
[nan]
[nan]
[nan]
[nan]
[nan]
[nan]
[nan]
[nan]
[nan]
[nan]
[nan]
[nan]
[nan]
[nan]
[nan]
[nan]
[nan]
[nan]
...
[nan]
[nan]
[nan]
[nan]
[nan]
[nan]
[nan]
[nan]]], shape=(43, 232, 1), dtype=float32)
有没有办法解决这个问题?
例如,我应该根据给定的 wav 文件修改我的 wav 文件数据吗?但是怎么做?在处理自己的 wav 文件时,我是否错过了预处理过程中的一些重要步骤?或者有没有更简单的方法可以在 javascript 中而不是在 python 中实现这一点?