mirror of
https://github.com/k2-fsa/icefall.git
synced 2025-08-27 02:34:21 +00:00
Add doc about how to extract framewise alignments.
This commit is contained in:
parent
1c603c3bce
commit
07140e5d5c
@ -1,3 +1,53 @@
|
|||||||
|
## Introduction
|
||||||
|
|
||||||
Please visit
|
Please visit
|
||||||
<https://icefall.readthedocs.io/en/latest/recipes/librispeech/conformer_ctc.html>
|
<https://icefall.readthedocs.io/en/latest/recipes/librispeech/conformer_ctc.html>
|
||||||
for how to run this recipe.
|
for how to run this recipe.
|
||||||
|
|
||||||
|
## How to compute framewise alignment information
|
||||||
|
|
||||||
|
### Step 1: Train a model
|
||||||
|
|
||||||
|
Please use `conformer_ctc/train.py` to train a model.
|
||||||
|
See <https://icefall.readthedocs.io/en/latest/recipes/librispeech/conformer_ctc.html>
|
||||||
|
for how to do it.
|
||||||
|
|
||||||
|
### Step 2: Compute framewise alignment
|
||||||
|
|
||||||
|
Run
|
||||||
|
|
||||||
|
```
|
||||||
|
# Choose a checkpoint and determine the number of checkpoints to average
|
||||||
|
epoch=30
|
||||||
|
avg=15
|
||||||
|
./conformer_ctc/ali.py \
|
||||||
|
--epoch $epoch \
|
||||||
|
--avg $avg \
|
||||||
|
--max-duration 500 \
|
||||||
|
--bucketing-sampler 0 \
|
||||||
|
--full-libri 1 \
|
||||||
|
--exp-dir conformer_ctc/exp \
|
||||||
|
--lang-dir data/lang_bpe_5000 \
|
||||||
|
--ali-dir data/ali_5000
|
||||||
|
```
|
||||||
|
and you will get four files inside the folder `data/ali_5000`:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ ls -lh data/ali_500
|
||||||
|
total 546M
|
||||||
|
-rw-r--r-- 1 kuangfangjun root 1.1M Sep 28 08:06 test_clean.pt
|
||||||
|
-rw-r--r-- 1 kuangfangjun root 1.1M Sep 28 08:07 test_other.pt
|
||||||
|
-rw-r--r-- 1 kuangfangjun root 542M Sep 28 11:36 train-960.pt
|
||||||
|
-rw-r--r-- 1 kuangfangjun root 2.1M Sep 28 11:38 valid.pt
|
||||||
|
```
|
||||||
|
|
||||||
|
**Note**: It can take more than 3 hours to compute the alignment
|
||||||
|
for the training dataset, which contains 960 * 3 = 2880 hours of data.
|
||||||
|
|
||||||
|
**Caution**: The model parameters in `conformer_ctc/ali.py` have to match those
|
||||||
|
in `conformer_ctc/train.py`.
|
||||||
|
|
||||||
|
**Caution**: You have to set the parameter `preserve_id` to `True` for `CutMix`.
|
||||||
|
Search `./conformer_ctc/asr_datamodule.py` for `preserve_id`.
|
||||||
|
|
||||||
|
**TODO:** Add doc about how to use the extracted alignment in the other pull-request.
|
||||||
|
@ -33,6 +33,7 @@ from icefall.utils import (
|
|||||||
AttributeDict,
|
AttributeDict,
|
||||||
encode_supervisions,
|
encode_supervisions,
|
||||||
get_alignments,
|
get_alignments,
|
||||||
|
get_env_info,
|
||||||
save_alignments,
|
save_alignments,
|
||||||
setup_logger,
|
setup_logger,
|
||||||
)
|
)
|
||||||
@ -62,7 +63,7 @@ def get_parser():
|
|||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
"--lang-dir",
|
"--lang-dir",
|
||||||
type=str,
|
type=str,
|
||||||
default="data/lang_bpe",
|
default="data/lang_bpe_5000",
|
||||||
help="The lang dir",
|
help="The lang dir",
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -95,6 +96,7 @@ def get_params() -> AttributeDict:
|
|||||||
"use_feat_batchnorm": True,
|
"use_feat_batchnorm": True,
|
||||||
"output_beam": 10,
|
"output_beam": 10,
|
||||||
"use_double_scores": True,
|
"use_double_scores": True,
|
||||||
|
"env_info": get_env_info(),
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
return params
|
return params
|
||||||
|
@ -143,7 +143,7 @@ def get_parser():
|
|||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
"--lang-dir",
|
"--lang-dir",
|
||||||
type=str,
|
type=str,
|
||||||
default="data/lang_bpe",
|
default="data/lang_bpe_5000",
|
||||||
help="The lang dir",
|
help="The lang dir",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -65,7 +65,7 @@ def get_parser():
|
|||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
"--lang-dir",
|
"--lang-dir",
|
||||||
type=str,
|
type=str,
|
||||||
default="data/lang_bpe",
|
default="data/lang_bpe_5000",
|
||||||
help="""It contains language related input files such as "lexicon.txt"
|
help="""It contains language related input files such as "lexicon.txt"
|
||||||
""",
|
""",
|
||||||
)
|
)
|
||||||
|
@ -115,7 +115,7 @@ def get_parser():
|
|||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
"--lang-dir",
|
"--lang-dir",
|
||||||
type=str,
|
type=str,
|
||||||
default="data/lang_bpe",
|
default="data/lang_bpe_5000",
|
||||||
help="""The lang dir
|
help="""The lang dir
|
||||||
It contains language related input files such as
|
It contains language related input files such as
|
||||||
"lexicon.txt"
|
"lexicon.txt"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user