-
Notifications
You must be signed in to change notification settings - Fork 3.2k
Clean up transducer decoding initialization #14112
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Signed-off-by: Vladimir Bataev <[email protected]>
Signed-off-by: Vladimir Bataev <[email protected]>
Signed-off-by: Vladimir Bataev <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Refactors transducer decoding initialization to use strongly-typed enums and a single match block for strategy/model logic.
- Introduces
TransducerModelTypeandTransducerDecodingStrategyTypeenums (viaPrettyStrEnum). - Consolidates nested
if-elifdecoding branches into amatch strategy, model_typestructure. - Enhances error reporting for incompatible TDT and multi-blank configurations.
Comments suppressed due to low confidence (3)
nemo/collections/asr/parts/submodules/rnnt_decoding.py:488
- The TSD case instantiates
BeamRNNTInferwithout passingsearch_type='tsd', so it will default to beam search rather than TSD. Please include the correctsearch_typeargument or use a dedicated TSD inferer.
case TransducerDecodingStrategyType.TSD, TransducerModelType.RNNT:
nemo/collections/asr/parts/submodules/rnnt_decoding.py:504
- The ALSD branch uses
BeamRNNTInferbut doesn't setsearch_type='alsd'. This likely runs standard beam search instead of ALSD. Add thesearch_typeparameter or invoke an ALSD-specific infer class.
case TransducerDecodingStrategyType.ALSD, TransducerModelType.RNNT:
nemo/collections/asr/parts/submodules/rnnt_decoding.py:593
- The MAES_BATCH branch does not specify
search_type='maes_batch'when creatingBeamBatchedRNNTInfer, which can lead to incorrect default behavior. Consider adding the explicitsearch_typeargument.
case TransducerDecodingStrategyType.MAES_BATCH, TransducerModelType.RNNT:
Signed-off-by: Vladimir Bataev <[email protected]>
Signed-off-by: Vladimir Bataev <[email protected]>
lilithgrigoryan
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Thank you!
|
[🤖]: Hi @artbataev 👋, We wanted to let you know that a CICD pipeline for this PR just finished successfully. So it might be time to merge this PR or get some approvals. |
* Clean up strategy selection * Raise error if LM not supported --------- Signed-off-by: Vladimir Bataev <[email protected]> Signed-off-by: Amir Hussein <[email protected]>
* Clean up strategy selection * Raise error if LM not supported --------- Signed-off-by: Vladimir Bataev <[email protected]> Signed-off-by: Amir Hussein <[email protected]>
* Clean up strategy selection * Raise error if LM not supported --------- Signed-off-by: Vladimir Bataev <[email protected]> Signed-off-by: Amir Hussein <[email protected]>
* Clean up strategy selection * Raise error if LM not supported --------- Signed-off-by: Vladimir Bataev <[email protected]>
Important
The
Update branchbutton must only be pressed in very rare occassions.An outdated branch is never blocking the merge of a PR.
Please reach out to the automation team before pressing that button.
What does this PR do ?
Collection: [ASR]
Changelog
Usage
# Add a code snippet demonstrating how to use thisGitHub Actions CI
The Jenkins CI system has been replaced by GitHub Actions self-hosted runners.
The GitHub Actions CI will run automatically when the "Run CICD" label is added to the PR.
To re-run CI remove and add the label again.
To run CI on an untrusted fork, a NeMo user with write access must first click "Approve and run".
Before your PR is "Ready for review"
Pre checks:
PR Type:
If you haven't finished some of the above items you can still open "Draft" PR.
Who can review?
Anyone in the community is free to review the PR once the checks have passed.
Contributor guidelines contains specific people who can review PRs to various areas.
Additional Information