mirror of
https://github.com/k2-fsa/icefall.git
synced 2025-12-11 06:55:27 +00:00
Update results.
This commit is contained in:
parent
c80dae7b07
commit
131f087dcb
@ -1,4 +1,6 @@
|
|||||||
|
|
||||||
|
# Introduction
|
||||||
|
|
||||||
Please refer to <https://icefall.readthedocs.io/en/latest/recipes/aishell.html>
|
Please refer to <https://icefall.readthedocs.io/en/latest/recipes/aishell.html>
|
||||||
for how to run models in this recipe.
|
for how to run models in this recipe.
|
||||||
|
|
||||||
@ -7,11 +9,11 @@ for how to run models in this recipe.
|
|||||||
There are various folders containing the name `transducer` in this folder.
|
There are various folders containing the name `transducer` in this folder.
|
||||||
The following table lists the differences among them.
|
The following table lists the differences among them.
|
||||||
|
|
||||||
| | Encoder | Decoder | Comment |
|
| | Encoder | Decoder | Comment |
|
||||||
|------------------------|-----------|--------------------|-----------------------------------------------------------------------------------|
|
|------------------------------------|-----------|--------------------|-----------------------------------------------------------------------------------|
|
||||||
| `transducer_stateless` | Conformer | Embedding + Conv1d | with `k2.rnnt_loss` |
|
| `transducer_stateless` | Conformer | Embedding + Conv1d | with `k2.rnnt_loss` |
|
||||||
| `transducer_stateless_modified` | Conformer | Embedding + Conv1d | with modified transducer from `optimized_transducer` |
|
| `transducer_stateless_modified` | Conformer | Embedding + Conv1d | with modified transducer from `optimized_transducer` |
|
||||||
| `transducer_stateless_modified-2` | Conformer | Embedding + Conv1d | with modified transducer from `optimized_transducer` + extra data |
|
| `transducer_stateless_modified-2` | Conformer | Embedding + Conv1d | with modified transducer from `optimized_transducer` + extra data |
|
||||||
|
|
||||||
The decoder in `transducer_stateless` is modified from the paper
|
The decoder in `transducer_stateless` is modified from the paper
|
||||||
[Rnn-Transducer with Stateless Prediction Network](https://ieeexplore.ieee.org/document/9054419/).
|
[Rnn-Transducer with Stateless Prediction Network](https://ieeexplore.ieee.org/document/9054419/).
|
||||||
|
|||||||
@ -1,12 +1,86 @@
|
|||||||
## Results
|
## Results
|
||||||
### Aishell training result(Transducer-stateless)
|
### Aishell training result(Transducer-stateless)
|
||||||
|
|
||||||
|
#### 2022-03-01
|
||||||
|
|
||||||
|
[./transducer_stateless_modified-2](./transducer_stateless_modified-2)
|
||||||
|
|
||||||
|
Stateless transducer + modified transducer + using [aidatatang_200zh](http://www.openslr.org/62/) as extra training data.
|
||||||
|
|
||||||
|
|
||||||
|
| | test |comment |
|
||||||
|
|------------------------|------|----------------------------------------------------------------|
|
||||||
|
| greedy search | 4.94 |--epoch 89, --avg 38, --max-duration 100, --max-sym-per-frame 1 |
|
||||||
|
| modified beam search | 4.68 |--epoch 89, --avg 38, --max-duration 100 --beam-size 4 |
|
||||||
|
|
||||||
|
The training commands are:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd egs/aishell/ASR
|
||||||
|
./prepare.sh --stop-stage 6
|
||||||
|
./prepare_aidatatang_200zh.sh
|
||||||
|
|
||||||
|
export CUDA_VISIBLE_DEVICES="0,1,2"
|
||||||
|
|
||||||
|
./transducer_stateless_modified-2/train.py \
|
||||||
|
--world-size 3 \
|
||||||
|
--num-epochs 90 \
|
||||||
|
--start-epoch 0 \
|
||||||
|
--exp-dir transducer_stateless_modified-2/exp-2 \
|
||||||
|
--max-duration 250 \
|
||||||
|
--lr-factor 2.0 \
|
||||||
|
--context-size 2 \
|
||||||
|
--modified-transducer-prob 0.25 \
|
||||||
|
--datatang-prob 0.2
|
||||||
|
```
|
||||||
|
|
||||||
|
The tensorboard log is available at
|
||||||
|
<https://tensorboard.dev/experiment/oG72ZlWaSGua6fXkcGRRjA/>
|
||||||
|
|
||||||
|
The commands for decoding are
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# greedy search
|
||||||
|
for epoch in 89; do
|
||||||
|
for avg in 38; do
|
||||||
|
./transducer_stateless_modified-2/decode.py \
|
||||||
|
--epoch $epoch \
|
||||||
|
--avg $avg \
|
||||||
|
--exp-dir transducer_stateless_modified-2/exp-2 \
|
||||||
|
--max-duration 100 \
|
||||||
|
--context-size 2 \
|
||||||
|
--decoding-method greedy_search \
|
||||||
|
--max-sym-per-frame 1
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
|
# modified beam search
|
||||||
|
for epoch in 89; do
|
||||||
|
for avg in 38; do
|
||||||
|
./transducer_stateless_modified-2/decode.py \
|
||||||
|
--epoch $epoch \
|
||||||
|
--avg $avg \
|
||||||
|
--exp-dir transducer_stateless_modified-2/exp-2 \
|
||||||
|
--max-duration 100 \
|
||||||
|
--context-size 2 \
|
||||||
|
--decoding-method modified_beam_search \
|
||||||
|
--beam-size 4
|
||||||
|
done
|
||||||
|
done
|
||||||
|
```
|
||||||
|
|
||||||
|
You can find a pre-trained model and decoding logs and results at
|
||||||
|
<https://huggingface.co/csukuangfj/icefall-aishell-transducer-stateless-modified-2-2022-03-01>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#### 2022-2-19
|
#### 2022-2-19
|
||||||
(Duo Ma): The tensorboard log for training is available at https://tensorboard.dev/experiment/25PmX3MxSVGTdvIdhOwllw/#scalars
|
(Duo Ma): The tensorboard log for training is available at https://tensorboard.dev/experiment/25PmX3MxSVGTdvIdhOwllw/#scalars
|
||||||
You can find a pretrained model by visiting https://huggingface.co/shuanguanma/icefall_aishell_transducer_stateless_context_size2_epoch60_2022_2_19
|
You can find a pretrained model by visiting https://huggingface.co/shuanguanma/icefall_aishell_transducer_stateless_context_size2_epoch60_2022_2_19
|
||||||
| | test |comment |
|
| | test |comment |
|
||||||
|---------------------------|------|-----------------------------------------|
|
|---------------------------|------|-----------------------------------------|
|
||||||
| greedy search | 5.4 |--epoch 59, --avg 10, --max-duration 100 |
|
| greedy search | 5.4 |--epoch 59, --avg 10, --max-duration 100 |
|
||||||
| beam search | 5.05|--epoch 59, --avg 10, --max-duration 100 |
|
| beam search | 5.05|--epoch 59, --avg 10, --max-duration 100 |
|
||||||
|
|
||||||
You can use the following commands to reproduce our results:
|
You can use the following commands to reproduce our results:
|
||||||
|
|
||||||
|
|||||||
@ -95,7 +95,7 @@ def get_parser():
|
|||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
"--exp-dir",
|
"--exp-dir",
|
||||||
type=str,
|
type=str,
|
||||||
default="transducer_stateless_modified/exp",
|
default="transducer_stateless_modified-2/exp",
|
||||||
help="The experiment dir",
|
help="The experiment dir",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user