Athena是端到端自动语音识别(ASR)引擎。当前,该项目支持基于 Connectionist Temporal Classification (CTC)的模型,基于transformer-basesd encoder-decoder model and Hybrid CTC/attention的模型的训练和解码,以及unsupervised pretraning。
下面我们基于Athena跑一下aishell数据集。
机器环境:
Ubuntu16.04 GPU GeForce RTX 2080
TensorFlow2.01 cuda10.2
1.设置虚拟环境
python -m venv venv_athena
source venv_athena/bin/activate
pip install --upgrade pip
2.安装 Athena
git clone https://github.com/athena-team/athena.git
cd athena
pip install -r requirements.txt
python setup.py bdist_wheel sdist
python -m pip install --ignore-installed dist/athena-0.1.0*.whl
source tools/env.sh
3.数据准备。
到 http://www.openslr.org/33/上下载aishell数据集,这里我用axel下载速度比较快。
axel -n 15 http://www.openslr.org/resources/33/data_aishell.tgz
下载完成。解压存放asr目录下面。
执行aishell脚本即可。
sh examples/asr/aishell/run.sh
注意:这里的dataset_dir改为存放aishell数据的目录,由于我这机器只有一个GPU,所以屏蔽掉了分布式工具horovod。
先跑pretraining 模型,再fine-tuning。
这里设置batch_size为16 num_epoch设置为20。(由于机器内存不够只能将batch设置小一点,否则会报内存溢出错误)
fine-tuning也设置batch_size为16 num_epoch设置为8。
跑了将近两天才跑完整个训练流程。