Logo Lanfrica

TrungLHB/train-transformer-asr

Domaine:

natural language processing

Type de record:

software
Créateur:
Tru
Hôte:
Train a ASR model from scratch for a low resource language, comparing transformer decoding vs CTC # train-transformer-asr Train an ASR model from scratch for a low resource language, comparing transformer decoding vs CTC. --- ## Overview This repository provides a complete end-to-end training pipeline for Automatic Speech Recognition (ASR) in low-resource language settings. Two decoder architectures are implemented and can be directly compared: | Decoder | Architecture | Loss | |---------|-------------|------| | **Transformer** | Conformer encoder + autoregressive attention decoder | Cross-entropy | | **CTC** | Conformer encoder + linear CTC projection | CTC loss | Both share the same Conformer/Transformer encoder backbone, enabling a fair comparison. --- ## Project Structure ``` train-transformer-asr/ ├── configs/ │ ├── base_config.yaml # shared hyper-parameters │ ├── transformer_config.yaml # attention decoder settings │ └── ctc_config.yaml # CTC decoder settings ├── src/ │ ├── data/ │ │ ├── dataset.py # HuggingFace dataset loader & CharTokenizer │ │ └── preprocessing.py # LogMelFilterBank & SpecAugment │ ├── models/ │ │ ├── encoder.py # Conformer / Transformer encoder │ │ ├── transformer_decoder.py # Autoregressive Transformer decoder │ │ ├── ctc_decoder.py # CTC decoder with prefix beam search │ │ └── asr_model.py # CTCASRModel & TransformerASRModel │ ├── training/ │ │ ├── trainer.py # Unified training loop (fp16, early stopping) │ │ └── metrics.py # WER / CER computation │ └── utils/ │ └── logger.py # Logging utilities ├── scripts/ │ ├── train_transformer.py # Entry point: train Transformer decoder │ ├── train_ctc.py # Entry point: train CTC decoder │ └── evaluate.py # Evaluate a checkpoint on the test set ├── cloud/ │ ├── aws/ │ │ ├── ec2_setup.sh # EC2 environment setup script │ │ └── sagemaker_job.py # Submit training to SageMaker │ └─ …