This commit is contained in:
游雁 2024-02-21 00:43:27 +08:00
parent 1d7ba926c8
commit 4cf44a89f8
8 changed files with 18 additions and 13 deletions

View File

@ -109,6 +109,7 @@ if [ ${stage} -le 4 ] && [ ${stop_stage} -ge 4 ]; then
log_file="${exp_dir}/exp/${model_dir}/train.log.txt.${current_time}" log_file="${exp_dir}/exp/${model_dir}/train.log.txt.${current_time}"
echo "log_file: ${log_file}" echo "log_file: ${log_file}"
export CUDA_VISIBLE_DEVICES=$CUDA_VISIBLE_DEVICES
gpu_num=$(echo $CUDA_VISIBLE_DEVICES | awk -F "," '{print NF}') gpu_num=$(echo $CUDA_VISIBLE_DEVICES | awk -F "," '{print NF}')
torchrun \ torchrun \
--nnodes 1 \ --nnodes 1 \

View File

@ -5,7 +5,7 @@ CUDA_VISIBLE_DEVICES="0,1"
# general configuration # general configuration
feats_dir="../DATA" #feature output dictionary feats_dir="../DATA" #feature output dictionary
exp_dir="." exp_dir=`pwd`
lang=zh lang=zh
token_type=char token_type=char
stage=0 stage=0
@ -109,6 +109,7 @@ if [ ${stage} -le 4 ] && [ ${stop_stage} -ge 4 ]; then
log_file="${exp_dir}/exp/${model_dir}/train.log.txt.${current_time}" log_file="${exp_dir}/exp/${model_dir}/train.log.txt.${current_time}"
echo "log_file: ${log_file}" echo "log_file: ${log_file}"
export CUDA_VISIBLE_DEVICES=$CUDA_VISIBLE_DEVICES
gpu_num=$(echo $CUDA_VISIBLE_DEVICES | awk -F "," '{print NF}') gpu_num=$(echo $CUDA_VISIBLE_DEVICES | awk -F "," '{print NF}')
torchrun \ torchrun \
--nnodes 1 \ --nnodes 1 \
@ -129,7 +130,7 @@ fi
if [ ${stage} -le 5 ] && [ ${stop_stage} -ge 5 ]; then if [ ${stage} -le 5 ] && [ ${stop_stage} -ge 5 ]; then
echo "stage 5: Inference" echo "stage 5: Inference"
if ${inference_device} == "cuda"; then if [ ${inference_device} == "cuda" ]; then
nj=$(echo $CUDA_VISIBLE_DEVICES | awk -F "," '{print NF}') nj=$(echo $CUDA_VISIBLE_DEVICES | awk -F "," '{print NF}')
else else
inference_batch_size=1 inference_batch_size=1
@ -170,7 +171,7 @@ if [ ${stage} -le 5 ] && [ ${stop_stage} -ge 5 ]; then
++input="${_logdir}/keys.${JOB}.scp" \ ++input="${_logdir}/keys.${JOB}.scp" \
++output_dir="${inference_dir}/${JOB}" \ ++output_dir="${inference_dir}/${JOB}" \
++device="${inference_device}" \ ++device="${inference_device}" \
++batch_size="${inference_batch_size}" ++batch_size="${inference_batch_size}" &> ${_logdir}/log.${JOB}.txt
}& }&
done done

View File

@ -109,6 +109,7 @@ if [ ${stage} -le 4 ] && [ ${stop_stage} -ge 4 ]; then
log_file="${exp_dir}/exp/${model_dir}/train.log.txt.${current_time}" log_file="${exp_dir}/exp/${model_dir}/train.log.txt.${current_time}"
echo "log_file: ${log_file}" echo "log_file: ${log_file}"
export CUDA_VISIBLE_DEVICES=$CUDA_VISIBLE_DEVICES
gpu_num=$(echo $CUDA_VISIBLE_DEVICES | awk -F "," '{print NF}') gpu_num=$(echo $CUDA_VISIBLE_DEVICES | awk -F "," '{print NF}')
torchrun \ torchrun \
--nnodes 1 \ --nnodes 1 \

View File

@ -109,6 +109,7 @@ if [ ${stage} -le 4 ] && [ ${stop_stage} -ge 4 ]; then
log_file="${exp_dir}/exp/${model_dir}/train.log.txt.${current_time}" log_file="${exp_dir}/exp/${model_dir}/train.log.txt.${current_time}"
echo "log_file: ${log_file}" echo "log_file: ${log_file}"
export CUDA_VISIBLE_DEVICES=$CUDA_VISIBLE_DEVICES
gpu_num=$(echo $CUDA_VISIBLE_DEVICES | awk -F "," '{print NF}') gpu_num=$(echo $CUDA_VISIBLE_DEVICES | awk -F "," '{print NF}')
torchrun \ torchrun \
--nnodes 1 \ --nnodes 1 \

View File

@ -109,6 +109,7 @@ if [ ${stage} -le 4 ] && [ ${stop_stage} -ge 4 ]; then
log_file="${exp_dir}/exp/${model_dir}/train.log.txt.${current_time}" log_file="${exp_dir}/exp/${model_dir}/train.log.txt.${current_time}"
echo "log_file: ${log_file}" echo "log_file: ${log_file}"
export CUDA_VISIBLE_DEVICES=$CUDA_VISIBLE_DEVICES
gpu_num=$(echo $CUDA_VISIBLE_DEVICES | awk -F "," '{print NF}') gpu_num=$(echo $CUDA_VISIBLE_DEVICES | awk -F "," '{print NF}')
torchrun \ torchrun \
--nnodes 1 \ --nnodes 1 \
@ -129,7 +130,7 @@ fi
if [ ${stage} -le 5 ] && [ ${stop_stage} -ge 5 ]; then if [ ${stage} -le 5 ] && [ ${stop_stage} -ge 5 ]; then
echo "stage 5: Inference" echo "stage 5: Inference"
if ${inference_device} == "cuda"; then if [ ${inference_device} == "cuda" ]; then
nj=$(echo $CUDA_VISIBLE_DEVICES | awk -F "," '{print NF}') nj=$(echo $CUDA_VISIBLE_DEVICES | awk -F "," '{print NF}')
else else
inference_batch_size=1 inference_batch_size=1
@ -141,7 +142,7 @@ if [ ${stage} -le 5 ] && [ ${stop_stage} -ge 5 ]; then
for dset in ${test_sets}; do for dset in ${test_sets}; do
inference_dir="${exp_dir}/exp/${model_dir}/${inference_checkpoint}/${dset}" inference_dir="${exp_dir}/exp/${model_dir}/infer-${inference_checkpoint}/${dset}"
_logdir="${inference_dir}/logdir" _logdir="${inference_dir}/logdir"
mkdir -p "${_logdir}" mkdir -p "${_logdir}"
@ -154,7 +155,7 @@ if [ ${stage} -le 5 ] && [ ${stop_stage} -ge 5 ]; then
done done
utils/split_scp.pl "${key_file}" ${split_scps} utils/split_scp.pl "${key_file}" ${split_scps}
gpuid_list_array=(${gpuid_list//,/ }) gpuid_list_array=(${CUDA_VISIBLE_DEVICES//,/ })
for JOB in $(seq ${nj}); do for JOB in $(seq ${nj}); do
{ {
id=$((JOB-1)) id=$((JOB-1))

View File

@ -11,8 +11,8 @@ model = AutoModel(model="damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k
vad_model_revision="v2.0.4", vad_model_revision="v2.0.4",
punc_model="damo/punc_ct-transformer_zh-cn-common-vocab272727-pytorch", punc_model="damo/punc_ct-transformer_zh-cn-common-vocab272727-pytorch",
punc_model_revision="v2.0.4", punc_model_revision="v2.0.4",
spk_model="damo/speech_campplus_sv_zh-cn_16k-common", # spk_model="damo/speech_campplus_sv_zh-cn_16k-common",
spk_model_revision="v2.0.4", # spk_model_revision="v2.0.2",
) )
res = model.generate(input="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_vad_punc_example.wav", batch_size_s=300, batch_size_threshold_s=60) res = model.generate(input="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_vad_punc_example.wav", batch_size_s=300, batch_size_threshold_s=60)

View File

@ -400,20 +400,20 @@ class AutoModel:
for res, vadsegment in zip(restored_data, vadsegments): for res, vadsegment in zip(restored_data, vadsegments):
sentence_list.append({"start": vadsegment[0],\ sentence_list.append({"start": vadsegment[0],\
"end": vadsegment[1], "end": vadsegment[1],
"sentence": res['raw_text'], "sentence": res['text'],
"timestamp": res['timestamp']}) "timestamp": res['timestamp']})
elif self.spk_mode == 'punc_segment': elif self.spk_mode == 'punc_segment':
sentence_list = timestamp_sentence(punc_res[0]['punc_array'], \ sentence_list = timestamp_sentence(punc_res[0]['punc_array'], \
result['timestamp'], \ result['timestamp'], \
result['raw_text']) result['text'])
distribute_spk(sentence_list, sv_output) distribute_spk(sentence_list, sv_output)
result['sentence_info'] = sentence_list result['sentence_info'] = sentence_list
elif kwargs.get("sentence_timestamp", False): elif kwargs.get("sentence_timestamp", False):
sentence_list = timestamp_sentence(punc_res[0]['punc_array'], \ sentence_list = timestamp_sentence(punc_res[0]['punc_array'], \
result['timestamp'], \ result['timestamp'], \
result['raw_text']) result['text'])
result['sentence_info'] = sentence_list result['sentence_info'] = sentence_list
del result['spk_embedding'] if "spk_embedding" in result: del result['spk_embedding']
result["key"] = key result["key"] = key
results_ret_list.append(result) results_ret_list.append(result)

View File

@ -279,7 +279,7 @@ class Trainer:
f"epoch: {epoch}/{self.max_epoch}, " f"epoch: {epoch}/{self.max_epoch}, "
f"step: {batch_idx+1}/{len(self.dataloader_train)}, total: {self.batch_total}, " f"step: {batch_idx+1}/{len(self.dataloader_train)}, total: {self.batch_total}, "
f"(loss: {loss.detach().cpu().item():.3f}), " f"(loss: {loss.detach().cpu().item():.3f}), "
f"(lr: {lr}), " f"(lr: {lr:.3e}), "
f"{[(k, round(v.cpu().item(), 3)) for k, v in stats.items()]}, " f"{[(k, round(v.cpu().item(), 3)) for k, v in stats.items()]}, "
f"{speed_stats}, " f"{speed_stats}, "
f"{gpu_info}" f"{gpu_info}"