diff --git a/egs/aishell/paraformer/run.sh b/egs/aishell/paraformer/run.sh index 06322ce77..c5ee1f289 100755 --- a/egs/aishell/paraformer/run.sh +++ b/egs/aishell/paraformer/run.sh @@ -8,7 +8,7 @@ gpu_num=2 count=1 gpu_inference=true # Whether to perform gpu decoding, set false for cpu decoding # for gpu decoding, inference_nj=ngpu*njob; for cpu decoding, inference_nj=njob -njob=8 +njob=1 train_cmd=utils/run.pl infer_cmd=utils/run.pl @@ -219,7 +219,7 @@ if [ ${stage} -le 4 ] && [ ${stop_stage} -ge 4 ]; then fi ${infer_cmd} --gpu "${_ngpu}" --max-jobs-run "${_nj}" JOB=1:"${_nj}" "${_logdir}"/asr_inference.JOB.log \ python -m funasr.bin.asr_inference_launch \ - --batch_size 1 \ + --batch_size 100 \ --ngpu "${_ngpu}" \ --njob ${njob} \ --gpuid_list ${gpuid_list} \ diff --git a/egs/aishell/paraformerbert/run.sh b/egs/aishell/paraformerbert/run.sh index 6f331ec43..a39ac7758 100755 --- a/egs/aishell/paraformerbert/run.sh +++ b/egs/aishell/paraformerbert/run.sh @@ -8,7 +8,7 @@ gpu_num=2 count=1 gpu_inference=true # Whether to perform gpu decoding, set false for cpu decoding # for gpu decoding, inference_nj=ngpu*njob; for cpu decoding, inference_nj=njob -njob=8 +njob=1 train_cmd=utils/run.pl infer_cmd=utils/run.pl @@ -235,7 +235,7 @@ if [ ${stage} -le 4 ] && [ ${stop_stage} -ge 4 ]; then fi ${infer_cmd} --gpu "${_ngpu}" --max-jobs-run "${_nj}" JOB=1:"${_nj}" "${_logdir}"/asr_inference.JOB.log \ python -m funasr.bin.asr_inference_launch \ - --batch_size 1 \ + --batch_size 100 \ --ngpu "${_ngpu}" \ --njob ${njob} \ --gpuid_list ${gpuid_list} \ diff --git a/funasr/bin/asr_inference_paraformer.py b/funasr/bin/asr_inference_paraformer.py index 15a37f7da..9dcd0b8b9 100755 --- a/funasr/bin/asr_inference_paraformer.py +++ b/funasr/bin/asr_inference_paraformer.py @@ -441,7 +441,7 @@ def inference( "decoding, feature length: {}, forward_time: {:.4f}, rtf: {:.4f}". format(length, forward_time, 100 * forward_time / (length*lfr_factor))) - for batch_id in range(len(results)): + for batch_id in range(_bs): result = [results[batch_id][:-2]] key = keys[batch_id] diff --git a/funasr/models/predictor/cif.py b/funasr/models/predictor/cif.py index 2eba4e251..1d196a7ce 100644 --- a/funasr/models/predictor/cif.py +++ b/funasr/models/predictor/cif.py @@ -31,10 +31,12 @@ class CifPredictor(nn.Module): alphas = torch.sigmoid(output) alphas = torch.nn.functional.relu(alphas * self.smooth_factor - self.noise_threshold) if mask is not None: - alphas = alphas * mask.transpose(-1, -2).float() + mask = mask.transpose(-1, -2).float() + alphas = alphas * mask if mask_chunk_predictor is not None: alphas = alphas * mask_chunk_predictor alphas = alphas.squeeze(-1) + mask = mask.squeeze(-1) if target_label_length is not None: target_length = target_label_length elif target_label is not None: