#!/bin/bash # Phase 1: Zipformer-M CTC streaming (causal), pure CTC, from scratch, char vocab. set -e source /workspace/venvs/icefall/bin/activate export PYTHONPATH=/root/icefall:$PYTHONPATH cd /root/icefall/egs/hindi/ASR ROOT=/workspace/hindi_ft/asr_ctc python zipformer/train.py \ --world-size 1 \ --num-epochs 30 \ --start-epoch 1 \ --exp-dir $ROOT/exp_p1 \ --lang-dir $ROOT/data/lang_char \ --manifest-dir $ROOT/data/fbank \ --use-ctc 1 --use-transducer 0 --ctc-loss-scale 1.0 \ --causal 1 \ --chunk-size "16,32,64,-1" \ --left-context-frames "64,128,256,-1" \ --max-duration 300 \ --use-fp16 0 \ --num-workers 8 \ --enable-musan False \ --on-the-fly-feats True \ --base-lr 0.045 # recipe default; bf16 makes it stable. 0.03 was too low -> CTC blank collapse.