1.sh 2.49 KB
Newer Older
sunzhq2's avatar
sunzhq2 committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/usr/bin/bash
# if [ ${stage} -le 2 ] && [ ${stop_stage} -ge 2 ]; then
asr_train_config="/home/sunzhq/workspace/yidong-infer/conformer/34e9cabc2c29fd0e3a2917ffa525d98b/exp/asr_train_asr_conformer3_raw_char_batch_bins4000000_accum_grad4_sp/config.yaml"
asr_model_file="/home/sunzhq/workspace/yidong-infer/conformer/34e9cabc2c29fd0e3a2917ffa525d98b/exp/asr_train_asr_conformer3_raw_char_batch_bins4000000_accum_grad4_sp/valid.acc.ave_10best.pth"
lm_train_config=/home/sunzhq/workspace/yidong-infer/conformer/34e9cabc2c29fd0e3a2917ffa525d98b/exp/lm_train_lm_transformer_char_batch_bins2000000/config.yaml
lm_path=/home/sunzhq/workspace/yidong-infer/conformer/34e9cabc2c29fd0e3a2917ffa525d98b/exp/lm_train_lm_transformer_char_batch_bins2000000/valid.loss.ave_10best.pth
manifest="/home/sunzhq/workspace/yidong-infer/conformer/torch-infer/test"

mkdir -p logs
# mode='attention_rescoring'
mode='lm_rescoring'
# num_gpus=$(echo $CUDA_VISIBLE_DEVICES | awk -F "," '{print NF}')
num_gpus=1

for ((i = 0; i < $num_gpus; ++i)); do
  {
    # gpu_id=$(echo $CUDA_VISIBLE_DEVICES | cut -d',' -f$[$i+1])
    gpu_id=0
    numactl -N 0 -m 0 python3 infer.py \
        --config $asr_train_config \
        --model_path $asr_model_file \
        --lm_config $lm_train_config \
        --lm_path $lm_path \
        --gpu $gpu_id \
        --wav_scp $manifest/wav.scp --text $manifest/text \
        --result_file ./logs/predictions_${mode}_$gpu_id.txt \
        --log_file ./logs/log_${mode}_$gpu_id.txt \
        --batch_size 24 --beam_size 10 \
        --mode $mode || exit 1

    python3 2.py --char=1 --v=1 \
        $manifest/text ./logs/predictions_${mode}_$gpu_id.txt > ./logs/wer_${mode}_$gpu_id || exit 1

    cat ./logs/wer_${mode}_0 | grep "Overall"
    cat ./logs/log_${mode}_0.txt | grep RTF
  } &
done
wait
# fi
# gpu_all=$[`nvidia-smi -L |wc -l` - 1]
gpu_all=1
# grep RTF logs/log_lm_rescoring_[0-${gpu_all}].txt  |awk 'BEGIN{sum=0;line=0}{sum+=$11;line++}END{print "total throughput for " line " gpus:" sum "audio_sample_len/time_end"}'>./logs/results.txt
# grep Overall  logs/wer_lm_rescoring_[0-${gpu_all}] |awk 'BEGIN{sum=0;line=0}{sum+=$3;line++}END{ans=sum/line;print "avg wer: " ans "%" }' >>./logs/results.txt

grep RTF logs/log_lm_rescoring_0.txt  |awk 'BEGIN{sum=0;line=0}{sum+=$11;line++}END{print "total throughput for " line " gpus:" sum "audio_sample_len/time_end"}'>./logs/results.txt
grep Overall  logs/wer_lm_rescoring_0 |awk 'BEGIN{sum=0;line=0}{sum+=$3;line++}END{ans=sum/line;print "avg wer: " ans "%" }' >>./logs/results.txt