A PyTorch implementation of Speech Transformer, an End-to-End ASR with Transformer network on Mandarin Chinese.
A PyTorch implementation of Speech Transformer [1], an end-to-end automatic speech recognition with Transformer network, which directly converts acoustic features to character sequence using a single nueral network.
Ad: Welcome to join Kwai Speech Team, make your career great! Send your resume to: xukaituo [at] kuaishou [dot] com! 广告时间:欢迎加入快手语音组,make your career great! 快发送简历到xukaituo [at] kuaishou [dot] com吧! 広告:Kwai チームへようこそ!自分のキャリアを照らそう!レジュメをこちらへ: xukaituo [at] kuaishou [dot] com!
pip install -r requirements.txt
cd tools; make KALDI=/path/to/kaldi
egs/aishell/run.sh, download aishell dataset for free.
$ cd egs/aishell # Modify aishell data path to your path in the begining of run.sh $ bash run.sh
That's all!
You can change parameter by
$ bash run.sh --parameter_name parameter_value, egs,
$ bash run.sh --stage 3. See parameter name in
egs/aishell/run.shbefore
. utils/parse_options.sh.
Workflow of
egs/aishell/run.sh: - Stage 0: Data Preparation - Stage 1: Feature Generation - Stage 2: Dictionary and Json Data Preparation - Stage 3: Network Training - Stage 4: Decoding
egs/aishell/run.shprovide example usage. ```bash
$ cd egs/aishell/; . ./path.sh
$ train.py -h
$ recognize.py -h ```
If you want to visualize your loss, you can use visdom to do that: 1. Open a new terminal in your remote server (recommend tmux) and run
$ visdom. 2. Open a new terminal and run
$ bash run.sh --visdom 1 --visdom_id ""or
$ train.py ... --visdom 1 --vidsdom_id "". 3. Open your browser and type
:8097, egs,
127.0.0.1:8097. 4. In visdom website, chose in
Environmentto see your loss.
$ bash run.sh --continue_from
When happened in training, try to reduce
batch_size.
$ bash run.sh --batch_size.
| Model | CER | Config | | :---: | :-: | :----: | | LSTMP | 9.85| 4x(1024-512). See kaldi-ktnet1| | Listen, Attend and Spell | 13.2 | See Listen-Attend-Spell's egs/aishell/run.sh | | SpeechTransformer | 12.8 | See egs/aishell/run.sh |