-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Description
我在用contextual-paraformer进行模型微调时,出现下面的报错,modelscope==1.29.1 funasr==1.3.0 ,用paraformer微调是没有问题的,但是用contextual-paraformer就会出现下面的错误,请问是怎么回事?
Error executing job with overrides: ['++model=iic/speech_paraformer-large-contextual_asr_nat-zh-cn-16k-common-vocab8404', '++train_data_set_list=/code/paraformer_common_asr/data/aishell/list/train.jsonl', '++valid_data_set_list=/code/paraformer_common_asr/data/aishell/list/val.jsonl', '++dataset=AudioDatasetHotword', '++dataset_conf.index_ds=IndexDSJsonl', '++dataset_conf.data_split_num=1', '++dataset_conf.batch_sampler=BatchSampler', '++dataset_conf.batch_size=6000', '++dataset_conf.sort_size=1024', '++dataset_conf.batch_type=token', '++dataset_conf.num_workers=4', '++train_conf.max_epoch=10', '++train_conf.log_interval=1', '++train_conf.resume=true', '++train_conf.validate_interval=2000', '++train_conf.save_checkpoint_interval=2000', '++train_conf.keep_nbest_models=20', '++train_conf.use_deepspeed=false', '++train_conf.deepspeed_config=/code/FunASR/examples/deepspeed_conf/ds_stage1.json', '++optim_conf.lr=0.0002', '++output_dir=/nasdata/speech/wangjianying/output/medical_contextual/']
Traceback (most recent call last):
File "/code/FunASR/funasr/bin/train_ds.py", line 244, in
main_hydra()
File "/root/miniconda3/envs/vila/lib/python3.10/site-packages/hydra/main.py", line 94, in decorated_main
_run_hydra(
File "/root/miniconda3/envs/vila/lib/python3.10/site-packages/hydra/_internal/utils.py", line 394, in _run_hydra
_run_app(
File "/root/miniconda3/envs/vila/lib/python3.10/site-packages/hydra/_internal/utils.py", line 457, in _run_app
run_and_report(
File "/root/miniconda3/envs/vila/lib/python3.10/site-packages/hydra/_internal/utils.py", line 223, in run_and_report
raise ex
File "/root/miniconda3/envs/vila/lib/python3.10/site-packages/hydra/_internal/utils.py", line 220, in run_and_report
return func()
File "/root/miniconda3/envs/vila/lib/python3.10/site-packages/hydra/_internal/utils.py", line 458, in
lambda: hydra.run(
File "/root/miniconda3/envs/vila/lib/python3.10/site-packages/hydra/_internal/hydra.py", line 132, in run
_ = ret.return_value
File "/root/miniconda3/envs/vila/lib/python3.10/site-packages/hydra/core/utils.py", line 260, in return_value
raise self._return_value
File "/root/miniconda3/envs/vila/lib/python3.10/site-packages/hydra/core/utils.py", line 186, in run_job
ret.return_value = task_function(task_cfg)
File "/code/FunASR/funasr/bin/train_ds.py", line 56, in main_hydra
main(**kwargs)
File "/code/FunASR/funasr/bin/train_ds.py", line 177, in main
trainer.train_epoch(
File "/code/FunASR/funasr/train_utils/trainer_ds.py", line 603, in train_epoch
self.forward_step(model, batch, loss_dict=loss_dict)
File "/code/FunASR/funasr/train_utils/trainer_ds.py", line 670, in forward_step
retval = model(**batch)
File "/root/miniconda3/envs/vila/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
return forward_call(*args, **kwargs)
File "/root/miniconda3/envs/vila/lib/python3.10/site-packages/torch/nn/parallel/distributed.py", line 1156, in forward
output = self._run_ddp_forward(*inputs, **kwargs)
File "/root/miniconda3/envs/vila/lib/python3.10/site-packages/torch/nn/parallel/distributed.py", line 1110, in _run_ddp_forward
return module_to_run(*inputs[0], **kwargs[0]) # type: ignore[index]
File "/root/miniconda3/envs/vila/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
return forward_call(*args, **kwargs)
File "/code/FunASR/funasr/models/contextual_paraformer/model.py", line 109, in forward
encoder_out, encoder_out_lens = self.encode(speech, speech_lengths)
File "/code/FunASR/funasr/models/paraformer/model.py", line 262, in encode
encoder_out, encoder_out_lens, _ = self.encoder(speech, speech_lengths)
File "/root/miniconda3/envs/vila/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
return forward_call(*args, **kwargs)
File "/code/FunASR/funasr/models/sanm/encoder.py", line 377, in forward
masks = (~make_pad_mask(ilens)[:, None, :]).to(xs_pad.device)
File "/code/FunASR/funasr/models/transformer/utils/nets_utils.py", line 196, in make_pad_mask
bs = int(len(lengths))
TypeError: object of type 'int' has no len()
What's your environment?
- OS (e.g., Linux):Linux
- FunASR Version (e.g., 1.0.0):1.3.0
- ModelScope Version (e.g., 1.11.0):1.29.1
- PyTorch Version (e.g., 2.0.0):
- How you installed funasr (
pip, source):pip - Python version:
- GPU (e.g., V100M32)
- CUDA/cuDNN version (e.g., cuda11.7):
- Docker version (e.g., funasr-runtime-sdk-cpu-0.4.1)
- Any other relevant information: