|
--- |
|
tags: |
|
- espnet |
|
- audio |
|
- automatic-speech-recognition |
|
language: quy |
|
datasets: |
|
- americasnlp22 |
|
license: cc-by-4.0 |
|
--- |
|
|
|
## ESPnet2 ASR model |
|
|
|
### `espnet/americasnlp22-asr-quy` |
|
|
|
This model was trained by Pavel Denisov using americasnlp22 recipe in [espnet](https://github.com/espnet/espnet/). |
|
|
|
### Demo: How to use in ESPnet2 |
|
|
|
Follow the [ESPnet installation instructions](https://espnet.github.io/espnet/installation.html) |
|
if you haven't done that already. |
|
|
|
```bash |
|
cd espnet |
|
git checkout fc62b1ce3e50c5ef8a2ac8cedb0d92ac41df54ca |
|
pip install -e . |
|
cd egs2/americasnlp22/asr1 |
|
./run.sh \ |
|
--skip_data_prep false \ |
|
--skip_train true \ |
|
--download_model espnet/americasnlp22-asr-quy \ |
|
--lang quy \ |
|
--local_data_opts "--lang quy" \ |
|
--train_set train_quy \ |
|
--valid_set dev_quy \ |
|
--test_sets dev_quy \ |
|
--gpu_inference false \ |
|
--inference_nj 8 \ |
|
--lm_train_text data/train_quy/text \ |
|
--bpe_train_text data/train_quy/text |
|
``` |
|
|
|
<!-- Generated by scripts/utils/show_asr_result.sh --> |
|
# RESULTS |
|
## Environments |
|
- date: `Sun Jun 5 04:51:42 CEST 2022` |
|
- python version: `3.9.13 (main, May 18 2022, 00:00:00) [GCC 11.3.1 20220421 (Red Hat 11.3.1-2)]` |
|
- espnet version: `espnet 202204` |
|
- pytorch version: `pytorch 1.11.0+cu115` |
|
- Git hash: `d55704daa36d3dd2ca24ae3162ac40d81957208c` |
|
- Commit date: `Wed Jun 1 02:33:09 2022 +0200` |
|
|
|
## asr_train_asr_transformer_raw_quy_bpe100_sp |
|
### WER |
|
|
|
|dataset|Snt|Wrd|Corr|Sub|Del|Ins|Err|S.Err| |
|
|---|---|---|---|---|---|---|---|---| |
|
|decode_asr_asr_model_valid.cer_ctc.best/dev_quy|250|11465|18.7|67.0|14.3|4.3|85.6|100.0| |
|
|
|
### CER |
|
|
|
|dataset|Snt|Wrd|Corr|Sub|Del|Ins|Err|S.Err| |
|
|---|---|---|---|---|---|---|---|---| |
|
|decode_asr_asr_model_valid.cer_ctc.best/dev_quy|250|95334|78.6|8.0|13.4|10.1|31.5|100.0| |
|
|
|
### TER |
|
|
|
|dataset|Snt|Wrd|Corr|Sub|Del|Ins|Err|S.Err| |
|
|---|---|---|---|---|---|---|---|---| |
|
|decode_asr_asr_model_valid.cer_ctc.best/dev_quy|250|51740|64.7|18.6|16.7|9.7|45.0|100.0| |
|
|
|
## ASR config |
|
|
|
<details><summary>expand</summary> |
|
|
|
``` |
|
config: conf/train_asr_transformer.yaml |
|
print_config: false |
|
log_level: INFO |
|
dry_run: false |
|
iterator_type: sequence |
|
output_dir: exp/asr_train_asr_transformer_raw_quy_bpe100_sp |
|
ngpu: 1 |
|
seed: 0 |
|
num_workers: 1 |
|
num_att_plot: 3 |
|
dist_backend: nccl |
|
dist_init_method: env:// |
|
dist_world_size: null |
|
dist_rank: null |
|
local_rank: 0 |
|
dist_master_addr: null |
|
dist_master_port: null |
|
dist_launcher: null |
|
multiprocessing_distributed: false |
|
unused_parameters: false |
|
sharded_ddp: false |
|
cudnn_enabled: true |
|
cudnn_benchmark: false |
|
cudnn_deterministic: true |
|
collect_stats: false |
|
write_collected_feats: false |
|
max_epoch: 15 |
|
patience: null |
|
val_scheduler_criterion: |
|
- valid |
|
- loss |
|
early_stopping_criterion: |
|
- valid |
|
- loss |
|
- min |
|
best_model_criterion: |
|
- - valid |
|
- cer_ctc |
|
- min |
|
keep_nbest_models: 1 |
|
nbest_averaging_interval: 0 |
|
grad_clip: 5.0 |
|
grad_clip_type: 2.0 |
|
grad_noise: false |
|
accum_grad: 1 |
|
no_forward_run: false |
|
resume: true |
|
train_dtype: float32 |
|
use_amp: false |
|
log_interval: null |
|
use_matplotlib: true |
|
use_tensorboard: true |
|
use_wandb: false |
|
wandb_project: null |
|
wandb_id: null |
|
wandb_entity: null |
|
wandb_name: null |
|
wandb_model_log_interval: -1 |
|
detect_anomaly: false |
|
pretrain_path: null |
|
init_param: [] |
|
ignore_init_mismatch: false |
|
freeze_param: |
|
- frontend.upstream.model.feature_extractor |
|
- frontend.upstream.model.encoder.layers.0 |
|
- frontend.upstream.model.encoder.layers.1 |
|
- frontend.upstream.model.encoder.layers.2 |
|
- frontend.upstream.model.encoder.layers.3 |
|
- frontend.upstream.model.encoder.layers.4 |
|
- frontend.upstream.model.encoder.layers.5 |
|
- frontend.upstream.model.encoder.layers.6 |
|
- frontend.upstream.model.encoder.layers.7 |
|
- frontend.upstream.model.encoder.layers.8 |
|
- frontend.upstream.model.encoder.layers.9 |
|
- frontend.upstream.model.encoder.layers.10 |
|
- frontend.upstream.model.encoder.layers.11 |
|
- frontend.upstream.model.encoder.layers.12 |
|
- frontend.upstream.model.encoder.layers.13 |
|
- frontend.upstream.model.encoder.layers.14 |
|
- frontend.upstream.model.encoder.layers.15 |
|
- frontend.upstream.model.encoder.layers.16 |
|
- frontend.upstream.model.encoder.layers.17 |
|
- frontend.upstream.model.encoder.layers.18 |
|
- frontend.upstream.model.encoder.layers.19 |
|
- frontend.upstream.model.encoder.layers.20 |
|
- frontend.upstream.model.encoder.layers.21 |
|
num_iters_per_epoch: null |
|
batch_size: 20 |
|
valid_batch_size: null |
|
batch_bins: 200000 |
|
valid_batch_bins: null |
|
train_shape_file: |
|
- exp/asr_stats_raw_quy_bpe100_sp/train/speech_shape |
|
- exp/asr_stats_raw_quy_bpe100_sp/train/text_shape.bpe |
|
valid_shape_file: |
|
- exp/asr_stats_raw_quy_bpe100_sp/valid/speech_shape |
|
- exp/asr_stats_raw_quy_bpe100_sp/valid/text_shape.bpe |
|
batch_type: numel |
|
valid_batch_type: null |
|
fold_length: |
|
- 80000 |
|
- 150 |
|
sort_in_batch: descending |
|
sort_batch: descending |
|
multiple_iterator: false |
|
chunk_length: 500 |
|
chunk_shift_ratio: 0.5 |
|
num_cache_chunks: 1024 |
|
train_data_path_and_name_and_type: |
|
- - dump/raw/train_quy_sp/wav.scp |
|
- speech |
|
- sound |
|
- - dump/raw/train_quy_sp/text |
|
- text |
|
- text |
|
valid_data_path_and_name_and_type: |
|
- - dump/raw/dev_quy/wav.scp |
|
- speech |
|
- sound |
|
- - dump/raw/dev_quy/text |
|
- text |
|
- text |
|
allow_variable_data_keys: false |
|
max_cache_size: 0.0 |
|
max_cache_fd: 32 |
|
valid_max_cache_size: null |
|
optim: adamw |
|
optim_conf: |
|
lr: 0.0001 |
|
scheduler: warmuplr |
|
scheduler_conf: |
|
warmup_steps: 300 |
|
token_list: |
|
- <blank> |
|
- <unk> |
|
- ▁ |
|
- a |
|
- n |
|
- y |
|
- u |
|
- qa |
|
- s |
|
- ta |
|
- q |
|
- ri |
|
- ku |
|
- i |
|
- kuna |
|
- r |
|
- m |
|
- e |
|
- cha |
|
- pi |
|
- pa |
|
- o |
|
- lla |
|
- na |
|
- ▁kay |
|
- ▁ka |
|
- ▁chay |
|
- c |
|
- chu |
|
- ki |
|
- ▁wa |
|
- ña |
|
- w |
|
- ▁pa |
|
- ra |
|
- si |
|
- man |
|
- pas |
|
- sqa |
|
- l |
|
- tu |
|
- nku |
|
- ▁ma |
|
- yku |
|
- taq |
|
- ▁a |
|
- ▁ima |
|
- d |
|
- ti |
|
- chi |
|
- manta |
|
- ya |
|
- ka |
|
- mi |
|
- h |
|
- p |
|
- wan |
|
- nchik |
|
- ll |
|
- chkan |
|
- spa |
|
- ▁ha |
|
- ▁ni |
|
- pu |
|
- yta |
|
- chik |
|
- mun |
|
- ni |
|
- paq |
|
- sun |
|
- ▁mana |
|
- ▁wi |
|
- k |
|
- ▁allin |
|
- ▁ancha |
|
- ▁hina |
|
- rí |
|
- ▁punchaw |
|
- ▁yacha |
|
- ▁llaqta |
|
- ñ |
|
- ynin |
|
- ▁rima |
|
- b |
|
- ▁huk |
|
- skan |
|
- '''' |
|
- g |
|
- j |
|
- z |
|
- á |
|
- ó |
|
- í |
|
- ú |
|
- f |
|
- v |
|
- t |
|
- x |
|
- é |
|
- <sos/eos> |
|
init: null |
|
input_size: null |
|
ctc_conf: |
|
dropout_rate: 0.0 |
|
ctc_type: builtin |
|
reduce: true |
|
ignore_nan_grad: true |
|
joint_net_conf: null |
|
use_preprocessor: true |
|
token_type: bpe |
|
bpemodel: data/quy_token_list/bpe_unigram100/bpe.model |
|
non_linguistic_symbols: null |
|
cleaner: null |
|
g2p: null |
|
speech_volume_normalize: null |
|
rir_scp: null |
|
rir_apply_prob: 1.0 |
|
noise_scp: null |
|
noise_apply_prob: 1.0 |
|
noise_db_range: '13_15' |
|
frontend: s3prl |
|
frontend_conf: |
|
frontend_conf: |
|
upstream: wav2vec2_url |
|
upstream_ckpt: https://dl.fbaipublicfiles.com/fairseq/wav2vec/xlsr2_300m.pt |
|
download_dir: ./hub |
|
multilayer_feature: true |
|
fs: 16k |
|
specaug: null |
|
specaug_conf: {} |
|
normalize: utterance_mvn |
|
normalize_conf: {} |
|
model: espnet |
|
model_conf: |
|
ctc_weight: 1.0 |
|
lsm_weight: 0.0 |
|
length_normalized_loss: false |
|
extract_feats_in_collect_stats: false |
|
preencoder: linear |
|
preencoder_conf: |
|
input_size: 1024 |
|
output_size: 80 |
|
encoder: transformer |
|
encoder_conf: |
|
input_layer: conv2d2 |
|
num_blocks: 1 |
|
linear_units: 2048 |
|
dropout_rate: 0.2 |
|
output_size: 256 |
|
attention_heads: 8 |
|
attention_dropout_rate: 0.2 |
|
postencoder: null |
|
postencoder_conf: {} |
|
decoder: rnn |
|
decoder_conf: {} |
|
required: |
|
- output_dir |
|
- token_list |
|
version: '202204' |
|
distributed: false |
|
``` |
|
|
|
</details> |
|
|
|
|
|
|
|
### Citing ESPnet |
|
|
|
```BibTex |
|
@inproceedings{watanabe2018espnet, |
|
author={Shinji Watanabe and Takaaki Hori and Shigeki Karita and Tomoki Hayashi and Jiro Nishitoba and Yuya Unno and Nelson Yalta and Jahn Heymann and Matthew Wiesner and Nanxin Chen and Adithya Renduchintala and Tsubasa Ochiai}, |
|
title={{ESPnet}: End-to-End Speech Processing Toolkit}, |
|
year={2018}, |
|
booktitle={Proceedings of Interspeech}, |
|
pages={2207--2211}, |
|
doi={10.21437/Interspeech.2018-1456}, |
|
url={http://dx.doi.org/10.21437/Interspeech.2018-1456} |
|
} |
|
|
|
|
|
|
|
|
|
``` |
|
|
|
or arXiv: |
|
|
|
```bibtex |
|
@misc{watanabe2018espnet, |
|
title={ESPnet: End-to-End Speech Processing Toolkit}, |
|
author={Shinji Watanabe and Takaaki Hori and Shigeki Karita and Tomoki Hayashi and Jiro Nishitoba and Yuya Unno and Nelson Yalta and Jahn Heymann and Matthew Wiesner and Nanxin Chen and Adithya Renduchintala and Tsubasa Ochiai}, |
|
year={2018}, |
|
eprint={1804.00015}, |
|
archivePrefix={arXiv}, |
|
primaryClass={cs.CL} |
|
} |
|
``` |
|
|