This commit is contained in:
语帆 2024-02-28 19:46:38 +08:00
parent 47823c9007
commit 7904f27826

View File

@ -16,54 +16,52 @@ inference_dir="outputs/test"
_logdir="${inference_dir}/logdir" _logdir="${inference_dir}/logdir"
echo "inference_dir: ${inference_dir}" echo "inference_dir: ${inference_dir}"
# mkdir -p "${_logdir}" mkdir -p "${_logdir}"
# key_file1=${file_dir}/wav.scp key_file1=${file_dir}/wav.scp
# key_file2=${file_dir}/ocr.txt key_file2=${file_dir}/ocr.txt
# split_scps1= split_scps1=
# split_scps2= split_scps2=
# for JOB in $(seq "${nj}"); do for JOB in $(seq "${nj}"); do
# split_scps1+=" ${_logdir}/wav.${JOB}.scp" split_scps1+=" ${_logdir}/wav.${JOB}.scp"
# split_scps2+=" ${_logdir}/ocr.${JOB}.txt" split_scps2+=" ${_logdir}/ocr.${JOB}.txt"
# done done
# utils/split_scp.pl "${key_file1}" ${split_scps1} utils/split_scp.pl "${key_file1}" ${split_scps1}
# utils/split_scp.pl "${key_file2}" ${split_scps2} utils/split_scp.pl "${key_file2}" ${split_scps2}
# gpuid_list_array=(${CUDA_VISIBLE_DEVICES//,/ }) gpuid_list_array=(${CUDA_VISIBLE_DEVICES//,/ })
# for JOB in $(seq ${nj}); do for JOB in $(seq ${nj}); do
# { {
# id=$((JOB-1)) id=$((JOB-1))
# gpuid=${gpuid_list_array[$id]} gpuid=${gpuid_list_array[$id]}
# export CUDA_VISIBLE_DEVICES=${gpuid} export CUDA_VISIBLE_DEVICES=${gpuid}
# python -m funasr.bin.inference \ python -m funasr.bin.inference \
# --config-path=${file_dir} \ --config-path=${file_dir} \
# --config-name="config.yaml" \ --config-name="config.yaml" \
# ++init_param=${file_dir}/model.pb \ ++init_param=${file_dir}/model.pb \
# ++tokenizer_conf.token_list=${file_dir}/tokens.txt \ ++tokenizer_conf.token_list=${file_dir}/tokens.txt \
# ++input=[${_logdir}/wav.${JOB}.scp,${_logdir}/ocr.${JOB}.txt] \ ++input=[${_logdir}/wav.${JOB}.scp,${_logdir}/ocr.${JOB}.txt] \
# +data_type='["kaldi_ark", "text"]' \ +data_type='["kaldi_ark", "text"]' \
# ++tokenizer_conf.bpemodel=${file_dir}/bpe.model \ ++tokenizer_conf.bpemodel=${file_dir}/bpe.model \
# ++output_dir="${inference_dir}/${JOB}" \ ++output_dir="${inference_dir}/${JOB}" \
# ++device="${inference_device}" \ ++device="${inference_device}" \
# ++ncpu=1 \ ++ncpu=1 \
# ++disable_log=true &> ${_logdir}/log.${JOB}.txt ++disable_log=true &> ${_logdir}/log.${JOB}.txt
# }& }&
# done done
# wait wait
#mkdir -p ${inference_dir}/1best_recog mkdir -p ${inference_dir}/1best_recog
for JOB in $(seq "${nj}"); do for JOB in $(seq "${nj}"); do
cat "${inference_dir}/${JOB}/1best_recog/token" >> "${inference_dir}/1best_recog/token" cat "${inference_dir}/${JOB}/1best_recog/token" >> "${inference_dir}/1best_recog/token"
done done
echo "Computing WER ..." echo "Computing WER ..."
echo "Computing WER ..." sed -e 's/ /\t/' -e 's/ //g' -e 's/▁/ /g' -e 's/\t /\t/' ${inference_dir}/1best_recog/token > ${inference_dir}/1best_recog/token.proc
#python utils/postprocess_text_zh.py ${inference_dir}/1best_recog/text ${inference_dir}/1best_recog/text.proc cp ${file_dir}/text ${inference_dir}/1best_recog/token.ref
python utils/compute_wer.py ${inference_dir}/1best_recog/token.ref ${inference_dir}/1best_recog/token.proc ${inference_dir}/1best_recog/token.cer
#cp ${data_dir}/text ${inference_dir}/1best_recog/text.ref tail -n 3 ${inference_dir}/1best_recog/token.cer
#python utils/compute_wer.py ${inference_dir}/1best_recog/text.ref ${inference_dir}/1best_recog/text.proc ${inference_dir}/1best_recog/text.cer
#tail -n 3 ${inference_dir}/1best_recog/text.cer