#!/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