模型代码参考自: g2p
- 训练&推理:pytorch+MNN;
- 算法:encoder+decoder生成模型;
- 训练英文g2p模型,用于处理TTS中OOV问题;
- 转换成onnx->mnn,用于离线推理;
python train.py
修改train.py
if __name__ == "__main__":
# set True for eval only,set False for train
do_train(True)
python inference.py
当解码器遇到结束符时需要提前结束解码,在不修改先前模型基础上将Encoder、Decoder模块分别保存进行推理。
python export_xcoder.py
python inference_xcoder.py
python export_xcoder.py
(没做)
执行sh,注意脚本中修改MNNConvert路径
./export_mnn.sh
模型加载与推理已经在demo_mnn/G2pEModel.cpp中实现,在C++代码中将类实例化进行推理,实测四核A35单个单词耗时毫秒级。