From ce2c0a97cdf298d0903a7cef9d74ff80924869a5 Mon Sep 17 00:00:00 2001 From: kaituoxu Date: Sat, 2 Feb 2019 21:47:02 +0800 Subject: [PATCH] update readme --- .gitignore | 2 + README.md | 70 ++++++++++-------- .../train-k0.2-bf15000-shuffle-ls0.1-lr.png | Bin 0 -> 29110 bytes .../train-k0.2-bf15000-shuffle-ls0.1.png | Bin 0 -> 37066 bytes 4 files changed, 40 insertions(+), 32 deletions(-) create mode 100644 egs/aishell/figures/train-k0.2-bf15000-shuffle-ls0.1-lr.png create mode 100644 egs/aishell/figures/train-k0.2-bf15000-shuffle-ls0.1.png diff --git a/.gitignore b/.gitignore index dca7df8..664c2c7 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,8 @@ egs/*/dump egs/*/fbank egs/*/exp +# MISC +.DS_Store .nfs* .vscode __pycache__ diff --git a/README.md b/README.md index abec436..5c58d75 100644 --- a/README.md +++ b/README.md @@ -1,32 +1,24 @@ # Speech Transformer: End-to-End ASR with Transformer -A PyTorch implementation of Speech Transformer [1][2][3], an end-to-end automatic speech recognition with [Transformer](https://arxiv.org/abs/1706.03762) [4] network, which directly converts audio features to character sequence using only one nueral network. +A PyTorch implementation of Speech Transformer [1][2][3], an end-to-end automatic speech recognition with [Transformer](https://arxiv.org/abs/1706.03762) [4] network, which directly converts acoustic features to character sequence using a single nueral network. ## Install -- Python3 (Recommend Anaconda) +- Python3 (recommend Anaconda) - PyTorch 0.4.1+ -- [Kaldi](https://github.com/kaldi-asr/kaldi) (Just for feature extraction) +- [Kaldi](https://github.com/kaldi-asr/kaldi) (just for feature extraction) - `pip install -r requirements.txt` - `cd tools; make KALDI=/path/to/kaldi` - If you want to run `egs/aishell/run.sh`, download [aishell](http://www.openslr.org/33/) dataset for free. ## Usage -1. `$ cd egs/aishell` and modify aishell data path to your path in `run.sh`. -2. `$ bash run.sh`, that's all! - -You can change hyper-parameter by `$ bash run.sh --parameter_name parameter_value`, egs, `$ bash run.sh --stage 3`. See parameter name in `egs/aishell/run.sh` before `. utils/parse_options.sh`. -### More detail -```bash -$ cd egs/aishell/ -$ . ./path.sh -``` -Train -```bash -$ train.py -h -``` -Decode +### Quick start ```bash -$ recognize.py -h +$ 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.sh` before `. utils/parse_options.sh`. ### Workflow Workflow of `egs/aishell/run.sh`: - Stage 0: Data Preparation @@ -34,25 +26,39 @@ Workflow of `egs/aishell/run.sh`: - Stage 2: Dictionary and Json Data Preparation - Stage 3: Network Training - Stage 4: Decoding -### Visualize loss +### More detail +`egs/aishell/run.sh` provide example usage. +```bash +# Set PATH and PYTHONPATH +$ cd egs/aishell/; . ./path.sh +# Train +$ train.py -h +# Decode +$ recognize.py -h +``` +#### How to visualize loss? If you want to visualize your loss, you can use [visdom](https://github.com/facebookresearch/visdom) to do that: -- Open a new terminal in your remote server (recommend tmux) and run `$ visdom`. -- Open a new terminal and run `$ bash run.sh --visdom 1 --visdom_id ""` or `$ train.py ... --visdom 1 --vidsdom_id ""`. -- Open your browser and type `:8097`, egs, `127.0.0.1:8097`. -- In visdom website, chose `` in `Environment` to see your loss. +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 `Environment` to see your loss. +![loss](egs/aishell/figures/train-k0.2-bf15000-shuffle-ls0.1.png) +#### How to resume training? +```bash +$ bash run.sh --continue_from +``` +#### How to solve out of memory? +When happened in training, try to reduce `batch_size`. `$ bash run.sh --batch_size `. ## Results | Model | CER | Config | | :---: | :-: | :----: | -| LSTMP | 9.85| 4x(1024-512) | -| Listen, Attend and Spell | 13.2 | See my repo ListenAttendSpell's egs/aishell/run.sh | +| LSTMP | 9.85| 4x(1024-512). See [kaldi-ktnet1](https://github.com/kaituoxu/kaldi-ktnet1/blob/ktnet1/egs/aishell/s5/local/nnet1/run_4lstm.sh)| +| Listen, Attend and Spell | 13.2 | See [Listen-Attend-Spell](https://github.com/kaituoxu/Listen-Attend-Spell)'s egs/aishell/run.sh | | SpeechTransformer | 12.8 | See egs/aishell/run.sh | ## Reference -[1] Linhao Dong, Shuang Xu,and Bo Xu. “Speech-transformer:A no-recurrence sequence-to-sequence model for speech recognition” in ICASSP 2018 - -[2] Shiyu Zhou, Linhao Dong, et al. “Syllable-based sequence-to-sequence speech recognition with the transformer in mandarin chinese” in Interspeech 2018 - -[3] Shiyu Zhou, Linhao Dong, et al. “A comparison of modeling units in sequence-to-sequence speech recognition with the transformer on mandarin chinese” arXiv preprint arXiv:1805.06239 - -[4] Ashish Vaswani, Noam Shazeer, et al. “Attention is all you need” in NIPS 2017 +- [1] Linhao Dong, Shuang Xu,and Bo Xu. “Speech-transformer:A no-recurrence sequence-to-sequence model for speech recognition” in ICASSP 2018 +- [2] Shiyu Zhou, Linhao Dong, et al. “Syllable-based sequence-to-sequence speech recognition with the transformer in mandarin chinese” in Interspeech 2018 +- [3] Shiyu Zhou, Linhao Dong, et al. “A comparison of modeling units in sequence-to-sequence speech recognition with the transformer on mandarin chinese” arXiv preprint arXiv:1805.06239 +- [4] Ashish Vaswani, Noam Shazeer, et al. “Attention is all you need” in NIPS 2017 diff --git a/egs/aishell/figures/train-k0.2-bf15000-shuffle-ls0.1-lr.png b/egs/aishell/figures/train-k0.2-bf15000-shuffle-ls0.1-lr.png new file mode 100644 index 0000000000000000000000000000000000000000..d759656b630d6f5e4d3ef51ab2f241063ddbe8b1 GIT binary patch literal 29110 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 literal 0 HcmV?d00001 diff --git a/egs/aishell/figures/train-k0.2-bf15000-shuffle-ls0.1.png b/egs/aishell/figures/train-k0.2-bf15000-shuffle-ls0.1.png new file mode 100644 index 0000000000000000000000000000000000000000..1d4945eaad9c4db6911e3bf51449c60e5e914450 GIT binary patch literal 37066 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 literal 0 HcmV?d00001