ba4be087d5
Create PR to main with cherry-pick from release / cherry-pick (push) Failing after 0s
CICD NeMo / pre-flight (push) Failing after 0s
CICD NeMo / configure (push) Has been skipped
Build, validate, and release Neural Modules / pre-flight (push) Failing after 1s
CICD NeMo / code-linting (push) Has been skipped
Build, validate, and release Neural Modules / release (push) Has been skipped
Build, validate, and release Neural Modules / release-summary (push) Has been cancelled
CICD NeMo / cicd-test-container-build (push) Has been cancelled
CICD NeMo / cicd-import-tests (push) Has been cancelled
CICD NeMo / L0_Setup_Test_Data_And_Models (push) Has been cancelled
CICD NeMo / cicd-main-unit-tests (push) Has been cancelled
CICD NeMo / cicd-main-speech (push) Has been cancelled
CICD NeMo / Nemo_CICD_Test (push) Has been cancelled
CICD NeMo / Coverage (e2e) (push) Has been cancelled
CICD NeMo / Coverage (unit-test) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
CICD NeMo / cicd-wait-in-queue (push) Has been cancelled
1.1 KiB
1.1 KiB
ASR with CTC Models
This directory contains example scripts to train ASR models using Connectionist Temporal Classification Loss.
Currently supported models are -
- Character based CTC model
- Subword based CTC model
Model execution overview
The training scripts in this directory execute in the following order. When preparing your own training-from-scratch / fine-tuning scripts, please follow this order for correct training/inference.
graph TD
A[Hydra Overrides + Yaml Config] --> B{Config}
B --> |Init| C[Trainer]
C --> D[ExpManager]
B --> D[ExpManager]
C --> E[Model]
B --> |Init| E[Model]
E --> |Constructor| F1(Change Vocabulary)
F1 --> F2(Setup InterCTC if available)
F2 --> F3(Setup Adapters if available)
F3 --> G(Setup Train + Validation + Test Data loaders)
G --> H(Setup Optimization)
H --> I[Maybe init from pretrained]
I --> J["trainer.fit(model)"]
During restoration of the model, you may pass the Trainer to the restore_from / from_pretrained call, or set it after the model has been initialized by using model.set_trainer(Trainer).