|
|
#!/bin/bash |
|
|
|
|
|
. ./path.sh || exit 1; |
|
|
|
|
|
dir=$1 |
|
|
average_num=$2 |
|
|
decoding_chunk_size=$3 |
|
|
|
|
|
echo "***************" |
|
|
echo "dir=$dir" |
|
|
echo "average_num=$average_num" |
|
|
echo "decoding_chunk_size=$decoding_chunk_size" |
|
|
echo "***************" |
|
|
|
|
|
dict=exp/wenet_efficient_conformer_librispeech_v2/train_960_unigram5000_units.txt |
|
|
decode_checkpoint=$dir/final.pt |
|
|
|
|
|
ctc_weight=0.5 |
|
|
reverse_weight=0.3 |
|
|
|
|
|
decode_modes="attention_rescoring ctc_greedy_search ctc_prefix_beam_search attention" |
|
|
|
|
|
recog_set="test_clean test_other" |
|
|
n_gpu=0 |
|
|
|
|
|
for testset in ${recog_set} ; do |
|
|
test_dir=$dir/test_${testset} |
|
|
if [ ! -d $test_dir ] ; then |
|
|
mkdir -p $test_dir |
|
|
fi |
|
|
for mode in ${decode_modes} ; do |
|
|
echo "" |
|
|
echo "==> ${testset}, ${mode} " |
|
|
nohup python wenet/bin/recognize.py --gpu $n_gpu \ |
|
|
--mode $mode \ |
|
|
--config ${dir}/train.yaml \ |
|
|
--data_type "raw" \ |
|
|
--test_data data/${testset}/data.list \ |
|
|
--checkpoint ${decode_checkpoint} \ |
|
|
--beam_size 10 \ |
|
|
--batch_size 1 \ |
|
|
--penalty 0.0 \ |
|
|
--dict $dict \ |
|
|
--ctc_weight $ctc_weight \ |
|
|
--reverse_weight $reverse_weight \ |
|
|
--result_file $test_dir/text_avg${average_num}_${mode}_${decoding_chunk_size} \ |
|
|
${decoding_chunk_size:+--decoding_chunk_size $decoding_chunk_size} > logs/decode_avg${average_num}_${mode}_${decoding_chunk_size}.log & |
|
|
|
|
|
n_gpu=`expr $n_gpu + 1` |
|
|
|
|
|
done |
|
|
done |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|