【我参加NVIDIA Sky Hackathon】语音识别模型训练
try_model_1 = nemo_asr.models.EncDecCTCModel.restore_from("7th_asr_model.nemo")#对模型进行重新加载
·
1. 导入nemo及asr工具类检查版本信息
import nemo
import nemo.collections.asr as nemo_asr
2. 加载自动语音识别模型
quartznet = nemo_asr.models.EncDecCTCModel.restore_from("stt_zh_quartznet15x5.nemo")# 加载中文预训练模型并实例化
3. 加载数据清单
#将制作好的json格式的数据清单加载进来
train_manifest = "/root/manifest/train_7th.json"
test_manifest = "/root/manifest/test_7th.json"
4. 加载quartznet配置文件
# 使用YAML读取quartznet模型配置文件
try:
from ruamel.yaml import YAML
except ModuleNotFoundError:
from ruamel_yaml import YAML
config_path ="/root/config/quartznet_15x5_zh.yaml"
yaml = YAML(typ='safe')
with open(config_path) as f:
params = yaml.load(f)
print(params)
5. 将数据清单传给配置文件
params['model']['train_ds']['manifest_filepath']=train_manifest
params['model']['validation_ds']['manifest_filepath']=test_manifest
6. 使用迁移学习的方法训练模型
quartznet.setup_training_data(train_data_config=params['model']['train_ds'])
quartznet.setup_validation_data(val_data_config=params['model']['validation_ds'])
import pytorch_lightning as pl
trainer = pl.Trainer(gpus=1,max_epochs=200)
trainer.fit(quartznet)#调用‘fit’方法开始训练
7. 模型的保存及重载
quartznet.save_to("7th_asr_model.nemo")# 将训练好的模型保存为.nemo格式
try_model_1 = nemo_asr.models.EncDecCTCModel.restore_from("7th_asr_model.nemo")#对模型进行重新加载
更多推荐
已为社区贡献1条内容
所有评论(0)