NeMo
NeMo copied to clipboard
[ASR] k2 rnnt
What does this PR do ?
Adds graph-based RNNT support.
Collection: ASR
Changelog
- k2 losses and decoders refactored
- graph-based RNNT added
- RNNT greedy and forced algnment added
- CTC and RNNT tests added
Usage
- RNNT forced alignment:
python ./experimental/k2/align_speech_parallel.py model=stt_en_conformer_transducer_large predict_ds.manifest_filepath=./data/Librispeech/dev_clean.json predict_ds.batch_size=8 output_path=./ali_rnnt model_stride=4 aligner_args.decode_batch_size=2 aligner_args.rnnt_cfg.predictor_window_size=40 aligner_args.rnnt_cfg.predictor_step_size=4
Before your PR is "Ready for review"
Pre checks:
- [ ] Make sure you read and followed Contributor guidelines
- [ ] Did you write any new necessary tests?
- [ ] Did you add or update any necessary documentation?
- [ ] Does the PR affect components that are optional to install? (Ex: Numba, Pynini, Apex etc)
- [ ] Reviewer: Does the PR have correct import guards for all optional libraries?
PR Type:
- [x] New Feature
- [ ] Bugfix
- [ ] Documentation
If you haven't finished some of the above items you can still open "Draft" PR.
Who can review?
@titu1994 Might be interesting for @erastorgueva-nv @yzhang123 @artbataev Contributor guidelines contains specific people who can review PRs to various areas.
This pull request introduces 5 alerts when merging 868032b878f1a59a4139ab022949927e90edf8d5 into 4aba4b208cf955660759e0c0cd07057a6049ffc8 - view on LGTM.com
new alerts:
- 2 for First parameter of a method is not named 'self'
- 1 for Wrong name for an argument in a call
- 1 for Unused import
- 1 for Wrong number of arguments in a call
This pull request introduces 1 alert when merging 4329fcda62e21824f0696af2d5537acd2293c3f9 into 4aba4b208cf955660759e0c0cd07057a6049ffc8 - view on LGTM.com
new alerts:
- 1 for `__init__` method calls overridden method
This pull request introduces 1 alert when merging d9e0f64671fcc484ef077f6f07e247f1fd0d680b into ddd87197e94ca23ae54e641dc7784e64c00a43d6 - view on LGTM.com
new alerts:
- 1 for `__init__` method calls overridden method
This pull request introduces 4 alerts when merging 094fd307d903f4db57181d58b695d9d66fc4434e into 75c2d8258106aec4e7c136df35c564f3c030575f - view on LGTM.com
new alerts:
- 2 for Unused import
- 1 for Unused local variable
- 1 for `__init__` method calls overridden method
This pull request introduces 1 alert when merging bf53fc91f5a91f976cb648edd8024d446133e123 into 28b97af8bd02a57075c56de483f16b6f0a8b6b11 - view on LGTM.com
new alerts:
- 1 for `__init__` method calls overridden method
This pull request introduces 1 alert when merging 8143205ed07a3c4e7cf7c4c430b973b246a11e31 into 28b97af8bd02a57075c56de483f16b6f0a8b6b11 - view on LGTM.com
new alerts:
- 1 for `__init__` method calls overridden method
This pull request introduces 1 alert when merging f2c13ae5e30ee9c20ddd404aa492bd6ce8db127f into 28b97af8bd02a57075c56de483f16b6f0a8b6b11 - view on LGTM.com
new alerts:
- 1 for `__init__` method calls overridden method
This pull request introduces 1 alert when merging 73448b966ecde65a879dd1ec381ba7218ecc7aec into 28b97af8bd02a57075c56de483f16b6f0a8b6b11 - view on LGTM.com
new alerts:
- 1 for `__init__` method calls overridden method
Regarding repeated snippet
# use k2 import guard
# fmt: off
from nemo.core.utils.k2_utils import k2_import_guard # isort:skip
k2_import_guard()
import k2 # isort:skip
# fmt: on
Maybe it would be better to place it into __init__.py
, and remove from other files in the module (just to avoid duplicated fragments)
This PR is stale because it has been open for 30 days with no activity. Remove stale label or comment or update or this will be closed in 7 days.
This PR was closed because it has been inactive for 7 days since being marked as stale.
This PR is stale because it has been open for 14 days with no activity. Remove stale label or comment or update or this will be closed in 7 days.
This PR was closed because it has been inactive for 7 days since being marked as stale.