如何解决Keras,从一个实例预测标签时尺寸不匹配
我创建了一个预测语音命令的CNN。我现在正在记录口头命令的各个实例,提取MFCC,并使用model.predict()对其进行分类。
y,sr = librosa.load('audio.wav')
samples = librosa.resample(y,sr,8000)
S = librosa.feature.melspectrogram(y=samples,sr=8000,n_mels=26,fmax=4000)
mels = librosa.feature.mfcc(y=samples,S=librosa.power_to_db(S))
但是,当我使用以下命令时,出现尺寸不匹配错误(预期为4,收到2):
model.predict(mels)
,并且当我按照某些建议使用model.predict(np.array[mels])
时,它给出了相同的错误(预期为4,接收为3)。由于我使用二维MFCC训练原始模型,因此我不确定为什么它不能基于二维数组进行预测。
解决方法
我意识到Keras在预测时和训练时需要相同的批次大小。一个答案是使用先前的权重构建一个新模型,然后使用该模型预测batch_size = 1。答案链接了here。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。