Skip to content

Commit a29f1d7

Browse files
kirklandsignmeta-codesync[bot]
authored andcommitted
Add TransducerRunner and rename AsrRunner to Seq2SeqRunner (#18961)
Summary: Pull Request resolved: #18961 Restructure `extension/asr/runner/` to support both Seq2Seq and Transducer ASR architectures: 1. **Rename** `AsrRunner` → `Seq2SeqRunner` (with backward-compat alias in runner.h) - `runner.cpp` → `seq2seq_runner.cpp`, `runner.h` → `seq2seq_runner.h` - Old `runner.h` kept as a thin include redirect for backward compatibility 2. **Add** `TransducerRunner` for RNN-T/TDT models - Extracts the ~190-line greedy decode loop from `examples/models/parakeet/main.cpp` - Auto-reads model metadata (blank_id, num_rnn_layers, pred_hidden) from constant_methods - Supports both standard RNN-T (duration=1) and TDT (variable durations) - Returns `vector<Token>` with frame offsets for downstream timestamp computation - Includes `preprocess()` method for models with bundled preprocessor - Exposes tokenizer via `tokenizer()` getter for downstream use 3. **Unify Token type**: `parakeet::Token` is now an alias for `asr::Token` 4. **Migrate consumers** - Whisper `main.cpp`: `AsrRunner` → `Seq2SeqRunner` - Parakeet `main.cpp`: inline decode → `TransducerRunner::transcribe()` - Android JNI: updated include (uses backward-compat alias, no API change) Model-specific post-processing (timestamp computation) remains in `examples/models/parakeet/`. Differential Revision: D100892465
1 parent 7fdd306 commit a29f1d7

13 files changed

Lines changed: 882 additions & 519 deletions

File tree

examples/models/parakeet/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ endif()
7575
list(
7676
APPEND
7777
link_libraries
78+
extension_asr_runner
7879
extension_llm_runner
7980
extension_module
8081
extension_data_loader

0 commit comments

Comments
 (0)