wenet_onlinedecode
wenet_onlinedecode copied to clipboard
识别效果
您好,我用的wenet官方第一个conformer模型,识别效果很差,在exp/unified conformer下增加了那个模型的global_cmvn、final.pt、lang_char.txt文件,请问还需要改动什么地方吗
@Aimeelulu 大神好,global_cmvn、final.pt、lang_char.txt这三个文件怎么生成啊?
我用了202108……的那个模型识别效果还不错。
请问怎么改动,我用官方最新的训练模型会出现错误,是新版预训练模型对模型结构调整了导致无法加载吗?
RuntimeError: Error(s) in loading state_dict for ASRModel:
Missing key(s) in state_dict: "encoder.encoders.0.conv_module.norm.running_mean", "encoder.encoders.0.conv_module.norm.running_var", "encoder.encoders.1.conv_module.norm.running_mean", "encoder.encoders.1.conv_module.norm.running_var", "encoder.encoders.2.conv_module.norm.running_mean", "encoder.encoders.2.conv_module.norm.running_var", "encoder.encoders.3.conv_module.norm.running_mean", "encoder.encoders.3.conv_module.norm.running_var", "encoder.encoders.4.conv_module.norm.running_mean", "encoder.encoders.4.conv_module.norm.running_var", "encoder.encoders.5.conv_module.norm.running_mean", "encoder.encoders.5.conv_module.norm.running_var", "encoder.encoders.6.conv_module.norm.running_mean", "encoder.encoders.6.conv_module.norm.running_var", "encoder.encoders.7.conv_module.norm.running_mean", "encoder.encoders.7.conv_module.norm.running_var", "encoder.encoders.8.conv_module.norm.running_mean", "encoder.encoders.8.conv_module.norm.running_var", "encoder.encoders.9.conv_module.norm.running_mean", "encoder.encoders.9.conv_module.norm.running_var", "encoder.encoders.10.conv_module.norm.running_mean", "encoder.encoders.10.conv_module.norm.running_var", "encoder.encoders.11.conv_module.norm.running_mean", "encoder.encoders.11.conv_module.norm.running_var".
我没修改,就是找了个模型,改几个配置参数,就可以跑了
我用了202108……的那个模型识别效果还不错。
我发现模型参数读不进来 直接四个都替换掉吗
我没修改,就是找了个模型,改几个配置参数,就可以跑了
您好 wenet_decoder.py 那几个参数怎么修改。可以分享一下吗 后面的参数读不进来
@chengming1108
加载模型和字典等
……
ASR_model = WeNetDecoder("20210815_unified_conformer_exp/train.yaml")
with open('./test5.wav','rb') as audiostream:
for dataflow in iter(lambda:audiostream.read(4000),""):
if len(dataflow) == 0:
break
sig = struct.unpack("%ih" % (len(dataflow) / 2), dataflow)
data = np.array([float(val) for val in sig])
ASR_model.detect(data)
ASR_model.ctc_prefix_beam_search_purn()
#SR_model.ctc_greedy_search_purn()
# time.sleep(0.1)
s = ASR_model.decoder_recoring()
print('result', s)
……
20210815_unified_conformer_exp/train.yaml 修改配置
……
cmvn_file: 20210815_unified_conformer_exp/global_cmvn
checkpoint: 20210815_unified_conformer_exp/final.pt
dict: 20210815_unified_conformer_exp/words.txt
……
@chengming1108
加载模型和字典等
…… ASR_model = WeNetDecoder("20210815_unified_conformer_exp/train.yaml") with open('./test5.wav','rb') as audiostream: for dataflow in iter(lambda:audiostream.read(4000),""): if len(dataflow) == 0: break sig = struct.unpack("%ih" % (len(dataflow) / 2), dataflow) data = np.array([float(val) for val in sig]) ASR_model.detect(data) ASR_model.ctc_prefix_beam_search_purn() #SR_model.ctc_greedy_search_purn() # time.sleep(0.1) s = ASR_model.decoder_recoring() print('result', s) ……
20210815_unified_conformer_exp/train.yaml 修改配置
…… cmvn_file: 20210815_unified_conformer_exp/global_cmvn checkpoint: 20210815_unified_conformer_exp/final.pt dict: 20210815_unified_conformer_exp/words.txt ……
收到 谢谢