Wei Kang 219bba1310
zipformer wenetspeech (#1130)
* copy files

* update train.py

* small fixes

* Add decode.py

* Fix dataloader in decode.py

* add blank penalty

* Add blank-penalty to other decoding method

* Minor fixes

* add zipformer2 recipe

* Minor fixes

* Remove pruned7

* export and test models

* Replace bpe with tokens in export.py and pretrain.py

* Minor fixes

* Minor fixes

* Minor fixes

* Fix export

* Update results

* Fix zipformer-ctc

* Fix ci

* Fix ci

* Fix CI

* Fix CI

---------

Co-authored-by: Fangjun Kuang <csukuangfj@gmail.com>
2023-06-26 09:33:18 +08:00
..
2022-11-17 09:42:17 -05:00
2021-11-18 10:00:47 +08:00

Introduction

Please refer to https://icefall.readthedocs.io/en/latest/recipes/Non-streaming-ASR/aishell/index.html for how to run models in this recipe.

Transducers

There are various folders containing the name transducer in this folder. The following table lists the differences among them.

Encoder Decoder Comment
transducer_stateless Conformer Embedding + Conv1d with k2.rnnt_loss
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
pruned_transducer_stateless3 Conformer (reworked) Embedding + Conv1d pruned RNN-T + reworked model with random combiner + using aidatatang_20zh as extra data
pruned_transducer_stateless7 Zipformer Embedding pruned RNN-T + zipformer encoder + stateless decoder with context-size 1

The decoder in transducer_stateless is modified from the paper Rnn-Transducer with Stateless Prediction Network. We place an additional Conv1d layer right after the input embedding layer.