NeMo icon indicating copy to clipboard operation
NeMo copied to clipboard

[ASR] k2 rnnt

Open GNroy opened this issue 2 years ago • 9 comments

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.

GNroy avatar Apr 10 '22 13:04 GNroy

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

lgtm-com[bot] avatar Apr 10 '22 13:04 lgtm-com[bot]

This pull request introduces 1 alert when merging 4329fcda62e21824f0696af2d5537acd2293c3f9 into 4aba4b208cf955660759e0c0cd07057a6049ffc8 - view on LGTM.com

new alerts:

  • 1 for `__init__` method calls overridden method

lgtm-com[bot] avatar Apr 10 '22 14:04 lgtm-com[bot]

This pull request introduces 1 alert when merging d9e0f64671fcc484ef077f6f07e247f1fd0d680b into ddd87197e94ca23ae54e641dc7784e64c00a43d6 - view on LGTM.com

new alerts:

  • 1 for `__init__` method calls overridden method

lgtm-com[bot] avatar May 07 '22 16:05 lgtm-com[bot]

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

lgtm-com[bot] avatar Jun 02 '22 16:06 lgtm-com[bot]

This pull request introduces 1 alert when merging bf53fc91f5a91f976cb648edd8024d446133e123 into 28b97af8bd02a57075c56de483f16b6f0a8b6b11 - view on LGTM.com

new alerts:

  • 1 for `__init__` method calls overridden method

lgtm-com[bot] avatar Jun 02 '22 17:06 lgtm-com[bot]

This pull request introduces 1 alert when merging 8143205ed07a3c4e7cf7c4c430b973b246a11e31 into 28b97af8bd02a57075c56de483f16b6f0a8b6b11 - view on LGTM.com

new alerts:

  • 1 for `__init__` method calls overridden method

lgtm-com[bot] avatar Jun 02 '22 17:06 lgtm-com[bot]

This pull request introduces 1 alert when merging f2c13ae5e30ee9c20ddd404aa492bd6ce8db127f into 28b97af8bd02a57075c56de483f16b6f0a8b6b11 - view on LGTM.com

new alerts:

  • 1 for `__init__` method calls overridden method

lgtm-com[bot] avatar Jun 02 '22 17:06 lgtm-com[bot]

This pull request introduces 1 alert when merging 73448b966ecde65a879dd1ec381ba7218ecc7aec into 28b97af8bd02a57075c56de483f16b6f0a8b6b11 - view on LGTM.com

new alerts:

  • 1 for `__init__` method calls overridden method

lgtm-com[bot] avatar Jun 02 '22 17:06 lgtm-com[bot]

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)

artbataev avatar Jun 14 '22 21:06 artbataev

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.

github-actions[bot] avatar Oct 08 '22 02:10 github-actions[bot]

This PR was closed because it has been inactive for 7 days since being marked as stale.

github-actions[bot] avatar Oct 15 '22 02:10 github-actions[bot]

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.

github-actions[bot] avatar Mar 03 '23 02:03 github-actions[bot]

This PR was closed because it has been inactive for 7 days since being marked as stale.

github-actions[bot] avatar Mar 11 '23 01:03 github-actions[bot]