Views
No views yet
| Scenariu | Clean WER | Noisy WER | Observație |
|---|---|---|---|
| 1 Baseline | 22.24% | 25.18% | Cel mai bun pe curat |
| 2 SpecAugment | 22.34% | 25.03% | Neutru |
| 3 WhiteNoise | 22.38% | 24.75% | Cel mai robust la zgomot |
| 4 Denoising (MetricGAN+) | 22.24% | 31.74% † | Înrăutățește ASR |
† 31.74% = WER pe audio denoised cu MetricGAN+ (nu raw noisy; WER pe noisy direct = 25.18%).Takeaway: Antrenarea cu zgomot alb îmbunătățește robustețea la zgomot cu 0.43% WER absolut fără penalizare pe date curate. Pre-procesarea generică de denoising (MetricGAN+) este contraproductivă pentru ASR.
| Set | Samples | Durată |
|---|---|---|
| Train | 319,071 | ~143h |
| Validation | 7,791 | ~21h |
| Format | 16kHz mono WAV |
1conda env create -f environment.yml # sau pip install -r requirements.txt
2conda activate pvmd.
├── src/
│ ├── train_all_scenarios.py # Orchestrator antrenament (Scenariile 1-3)
│ ├── evaluate_all_scenarios.py # Evaluare pe clean + noisy
│ ├── scenario4_denoising_test.py # Test MetricGAN+ (Scenariul 4)
│ └── ... # Pre-procesare și utilitare
├── results/
│ ├── scenario_1/ # Checkpoints + model final .nemo
│ ├── scenario_2/
│ ├── scenario_3/
│ ├── scenario_4/ # Manifeste + rezultate denoising
│ └── evaluation/ # JSON cu WER-uri finale
├── scripts/ # Script-uri pipeline
├── run_all_scenarios.sh # Runner complet (seq)
└── requirements.txtbash run_all_scenarios.sh [EPOCHS]batch=64, lr=1e-4, warmup=2000, precision=bf16-mixed, CTC-only mode.1python src/evaluate_all_scenarios.py \
2 --clean_manifest /path/to/val_manifest.json \
3 --noisy_manifest /path/to/noisy_manifest.json \
4 --batch_size 161python src/scenario4_denoising_test.py \
2 --model_path results/scenario_1/scenario1_final.nemo \
3 --val_manifest /path/to/val_manifest.json \
4 --output_dir results/scenario_4 \
5 --use_metricganillegal instruction/memory access), antrenamentul rulează în mod CTC-only:val_wer_ctc) în loc de TDT WERfreq_masks = 2, freq_width = 27time_masks = 2, time_width = 100noise_amp=0.017).| Problemă | Cauză | Soluție |
|---|---|---|
| Crash CUDA (RNNT) | Operații CUDA instabile în TDT | CTC-only mode |
| WER explodat (~70%) | val_wer monitoriza TDT decoder (netrenat) | Override validation_step → val_wer = val_wer_ctc |
time_width_upper error | Config salvat incompatibil cu NeMo instalat | Patch .nemo (eliminare cheie) |
transcribe() WER greșit | Code path diferit față de training | Folosire trainer.validate() + val_wer_ctc |
| Fișier | Descriere |
|---|---|
results/scenario_*/scenario*_final.nemo | Model fine-tuned |
results/evaluation/all_scenarios_evaluation.json | WER clean/noisy per scenariu |
results/scenario_4/scenario4_results_final.json | Rezultate denoising corecte |
results/scenario_4/*_manifest.json | Manifeste noisy/denoised |
results/*/logs/ | Log-uri TensorBoard + training |