modelscope / FunASR

A Fundamental End-to-End Speech Recognition Toolkit and Open Source SOTA Pretrained Models, Supporting Speech Recognition, Voice Activity Detection, Text Post-processing etc.
https://www.funasr.com
Other
6.62k stars 705 forks source link

训练paraformer时py,无法保存模型 #1031

Closed sister-tong closed 12 months ago

sister-tong commented 1 year ago

OS: Linux

Python/C++ Version:python 3.8.18

Package Version: pytorch: 2.1.0 torchaudio: 2.1.0 modelscope: 1.9.2 funasr version(pip list): 0.8.0

Model:train_asr_paraformer_conformer_12e_6d_2048_256_zh_char

Command: bash run.sh --stage 0 --stop_stage 5

终端保存显示: stage 0: Data preparation stage 1: Feature and CMVN Generation utils/compute_cmvn.sh --fbankdir /root/autodl-tmp/FunASR/tag/data/train --cmd utils/run.pl --nj 64 --feats_dim 80 --config_file conf/train_asr_paraformer_conformer_12e_6d_2048_256.yaml --scale 1.0 utils/compute_cmvn.sh: Succeeded compute global cmvn dictionary: /root/autodl-tmp/FunASR/tag/data/zh_token_list/char/tokens.txt stage 2: Dictionary Preparation make a dictionary stage 3: LM Training stage 4: ASR Training run.sh: init method is file:///root/autodl-tmp/FunASR/egs/aishell/paraformer/result_exp/exp/baseline_train_asr_paraformer_conformer_12e_6d_2048_256_zh_char_exp1/ddp_init stage 5: Inference run.pl: job failed, log is in /root/autodl-tmp/FunASR/egs/aishell/paraformer/result_exp/exp/baseline_train_asr_paraformer_conformer_12e_6d_2048_256_zh_char_exp1/decode_asr_transformer_noctc_1best/valid.acc.ave_10best.pb/test/logdir/asr_inference.1.log

Details: [parameter]:

CUDA_VISIBLE_DEVICES="0" gpu_num=1 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=1 train_cmd=utils/run.pl infer_cmd=utils/run.pl

general configuration

feats_dir="/root/autodl-tmp/FunASR/tag" #feature output dictionary../DATA exp_dir="/root/autodl-tmp/FunASR/egs/aishell/paraformer/result_exp" lang=zh token_type=char type=sound scp=wav.scp speed_perturb="0.9 1.0 1.1" stage=0 stop_stage=5

feature configuration

feats_dim=80 nj=64

data

raw_data=../raw_data data_url=www.openslr.org/resources/33

exp tag

tag="exp1"

. utils/parse_options.sh || exit 1;

Set bash to 'debug' mode, it will exit on :

-e 'error', -u 'undefined variable', -o ... 'error in pipeline', -x 'print commands',

set -e set -u set -o pipefail

train_set=train valid_set=dev test_sets=test

asr_config=conf/train_asr_paraformer_conformer_12e_6d_2048_256.yaml modeldir="baseline$(basename "${asrconfig}" .yaml)${lang}_${tokentype}${tag}"

inference_config=conf/decode_asr_transformer_noctc_1best.yaml inference_asr_model=valid.acc.ave_10best.pb

Error log: [asr_inference.1.log]:

python -m funasr.bin.asr_inference_launch --batch_size 1 --ngpu 1 --njob 1 --gpuid_list 0 --data_path_and_name_and_type /root/autodl-tmp/FunASR/tag/data/test/wav.scp,speech,sound --cmvn_file /root/autodl-tmp/FunASR/tag/data/train/cmvn/am.mvn --key_file /root/autodl-tmp/FunASR/egs/aishell/paraformer/result_exp/exp/baseline_train_asr_paraformer_conformer_12e_6d_2048_256_zh_char_exp1/decode_asr_transformer_noctc_1best/valid.acc.ave_10best.pb/test/logdir/keys.1.scp --asr_train_config /root/autodl-tmp/FunASR/egs/aishell/paraformer/result_exp/exp/baseline_train_asr_paraformer_conformer_12e_6d_2048_256_zh_char_exp1/config.yaml --asr_model_file /root/autodl-tmp/FunASR/egs/aishell/paraformer/result_exp/exp/baseline_train_asr_paraformer_conformer_12e_6d_2048_256_zh_char_exp1/valid.acc.ave_10best.pb --output_dir /root/autodl-tmp/FunASR/egs/aishell/paraformer/result_exp/exp/baseline_train_asr_paraformer_conformer_12e_6d_2048_256_zh_char_exp1/decode_asr_transformer_noctc_1best/valid.acc.ave_10best.pb/test/logdir/output.1 --mode paraformer --config conf/decode_asr_transformer_noctc_1best.yaml

Started at Thu Oct 19 17:56:05 CST 2023

# 2023-10-19 17:56:08,232 - modelscope - INFO - PyTorch version 2.1.0 Found. 2023-10-19 17:56:08,233 - modelscope - INFO - Loading ast index from /root/.cache/modelscope/ast_indexer 2023-10-19 17:56:08,276 - modelscope - INFO - Loading done! Current index file version is 1.9.2, with md5 e362671a3c9e4e27dc898107b540552c and a total number of 941 components indexed /root/miniconda3/envs/funasr/bin/python /root/autodl-tmp/FunASR/funasr/bin/asr_inference_launch.py --batch_size 1 --ngpu 1 --njob 1 --gpuid_list 0 --data_path_and_name_and_type /root/autodl-tmp/FunASR/tag/data/test/wav.scp,speech,sound --cmvn_file /root/autodl-tmp/FunASR/tag/data/train/cmvn/am.mvn --key_file /root/autodl-tmp/FunASR/egs/aishell/paraformer/result_exp/exp/baseline_train_asr_paraformer_conformer_12e_6d_2048_256_zh_char_exp1/decode_asr_transformer_noctc_1best/valid.acc.ave_10best.pb/test/logdir/keys.1.scp --asr_train_config /root/autodl-tmp/FunASR/egs/aishell/paraformer/result_exp/exp/baseline_train_asr_paraformer_conformer_12e_6d_2048_256_zh_char_exp1/config.yaml --asr_model_file /root/autodl-tmp/FunASR/egs/aishell/paraformer/result_exp/exp/baseline_train_asr_paraformer_conformer_12e_6d_2048_256_zh_char_exp1/valid.acc.ave_10best.pb --output_dir /root/autodl-tmp/FunASR/egs/aishell/paraformer/result_exp/exp/baseline_train_asr_paraformer_conformer_12e_6d_2048_256_zh_char_exp1/decode_asr_transformer_noctc_1best/valid.acc.ave_10best.pb/test/logdir/output.1 --mode paraformer --config conf/decode_asr_transformer_noctc_1best.yaml 2023-10-19 17:56:08,416 (asr_inference_launch:2491) INFO: Decoding args: {'log_level': 'INFO', 'output_dir': '/root/autodl-tmp/FunASR/egs/aishell/paraformer/result_exp/exp/baseline_train_asr_paraformer_conformer_12e_6d_2048_256_zh_char_exp1/decode_asr_transformer_noctc_1best/valid.acc.ave_10best.pb/test/logdir/output.1', 'ngpu': 1, 'njob': 1, 'gpuid_list': '0', 'seed': 0, 'dtype': 'float32', 'num_workers': 1, 'data_path_and_name_and_type': [('/root/autodl-tmp/FunASR/tag/data/test/wav.scp', 'speech', 'sound')], 'key_file': '/root/autodl-tmp/FunASR/egs/aishell/paraformer/result_exp/exp/baseline_train_asr_paraformer_conformer_12e_6d_2048_256_zh_char_exp1/decode_asr_transformer_noctc_1best/valid.acc.ave_10best.pb/test/logdir/keys.1.scp', 'hotword': None, 'allow_variable_data_keys': False, 'mc': False, 'vad_infer_config': None, 'vad_model_file': None, 'punc_infer_config': None, 'punc_model_file': None, 'cmvn_file': '/root/autodl-tmp/FunASR/tag/data/train/cmvn/am.mvn', 'asr_train_config': '/root/autodl-tmp/FunASR/egs/aishell/paraformer/result_exp/exp/baseline_train_asr_paraformer_conformer_12e_6d_2048_256_zh_char_exp1/config.yaml', 'asr_model_file': '/root/autodl-tmp/FunASR/egs/aishell/paraformer/result_exp/exp/baseline_train_asr_paraformer_conformer_12e_6d_2048_256_zh_char_exp1/valid.acc.ave_10best.pb', 'sv_model_file': None, 'lm_train_config': None, 'lm_file': None, 'word_lm_train_config': None, 'word_lm_file': None, 'ngram_file': None, 'model_tag': None, 'beam_search_config': {}, 'batch_size': 1, 'nbest': 5, 'beam_size': 1, 'penalty': 0.0, 'maxlenratio': 0.0, 'minlenratio': 0.0, 'ctc_weight': 0.0, 'lm_weight': 0.15, 'ngram_weight': 0.9, 'streaming': False, 'fake_streaming': False, 'full_utt': False, 'chunk_size': 16, 'left_context': 16, 'right_context': 0, 'display_partial_hypotheses': False, 'quantize_asr_model': False, 'quantize_modules': None, 'quantize_dtype': 'qint8', 'token_type': None, 'bpemodel': None, 'token_num_relax': 1, 'decoding_ind': 0, 'decoding_mode': 'model1', 'ctc_weight2': 0.0, 'mode': 'paraformer'} 2023-10-19 17:56:09,686 (build_asr_model:281) INFO: Vocabulary size: 62 2023-10-19 17:56:09,687 (conformer_encoder:560) WARNING: Using legacy_rel_pos and it will be deprecated in the future. 2023-10-19 17:56:09,715 (conformer_encoder:667) WARNING: Using legacy_rel_selfattn and it will be deprecated in the future. 2023-10-19 17:56:11,628 (build_model_from_file:56) INFO: model_file is /root/autodl-tmp/FunASR/egs/aishell/paraformer/result_exp/exp/baseline_train_asr_paraformer_conformer_12e_6d_2048_256_zh_char_exp1/valid.acc.ave_10best.pb Traceback (most recent call last): File "/root/miniconda3/envs/funasr/lib/python3.8/runpy.py", line 194, in _run_module_as_main return _run_code(code, main_globals, None, File "/root/miniconda3/envs/funasr/lib/python3.8/runpy.py", line 87, in _run_code exec(code, run_globals) File "/root/autodl-tmp/FunASR/funasr/bin/asr_inference_launch.py", line 2505, in main() File "/root/autodl-tmp/FunASR/funasr/bin/asr_inference_launch.py", line 2500, in main inference_pipeline = inference_launch(kwargs) File "/root/autodl-tmp/FunASR/funasr/bin/asr_inference_launch.py", line 2199, in inference_launch return inference_paraformer(kwargs) File "/root/autodl-tmp/FunASR/funasr/bin/asr_inference_launch.py", line 309, in inference_paraformer speech2text = Speech2TextParaformer(**speech2text_kwargs) File "/root/autodl-tmp/FunASR/funasr/bin/asr_infer.py", line 292, in init asr_model, asr_train_args = build_model_from_file( File "/root/autodl-tmp/FunASR/funasr/build_utils/build_model_from_file.py", line 72, in build_model_from_file model_dict = torch.load(model_file, map_location=device) File "/root/miniconda3/envs/funasr/lib/python3.8/site-packages/torch/serialization.py", line 986, in load with _open_file_like(f, 'rb') as opened_file: File "/root/miniconda3/envs/funasr/lib/python3.8/site-packages/torch/serialization.py", line 435, in _open_file_like return _open_file(name_or_buffer, mode) File "/root/miniconda3/envs/funasr/lib/python3.8/site-packages/torch/serialization.py", line 416, in init super().init(open(name, mode)) FileNotFoundError: [Errno 2] No such file or directory: '/root/autodl-tmp/FunASR/egs/aishell/paraformer/result_exp/exp/baseline_train_asr_paraformer_conformer_12e_6d_2048_256_zh_char_exp1/valid.acc.ave_10best.pb'

Accounting: time=7 threads=1

Ended (code 1) at Thu Oct 19 17:56:12 CST 2023, elapsed time 7 seconds

======================================================================== [train.log]: [autodl-container-28da11ab52-ff054543] 2023-10-19 17:56:04,460 (train:555) INFO: Scheduler: [WarmupLR(warmup_steps=30000)] [autodl-container-28da11ab52-ff054543] 2023-10-19 17:56:04,460 (train:561) INFO: Saving the configuration in /root/autodl-tmp/FunASR/egs/aishell/paraformer/result_exp/exp/baseline_train_asr_paraformer_conformer_12e_6d_2048_256_zh_char_exp1/config.yaml [autodl-container-28da11ab52-ff054543] 2023-10-19 17:56:04,475 (dataset:126) INFO: Using speed_perturb: [0.9, 1.0, 1.1] Traceback (most recent call last): File "/root/autodl-tmp/FunASR/egs/aishell/paraformer/../../../funasr/bin/train.py", line 582, in train_dataloader, valid_dataloader = build_dataloader(args) File "/root/autodl-tmp/FunASR/funasr/build_utils/build_dataloader.py", line 20, in build_dataloader train_iter_factory = SequenceIterFactory(args, mode="train") File "/root/autodl-tmp/FunASR/funasr/datasets/small_datasets/sequence_iter_factory.py", line 56, in init dataset = ESPnetDataset( File "/root/autodl-tmp/FunASR/funasr/datasets/small_datasets/dataset.py", line 134, in init loader = self._build_loader(path, _type) File "/root/autodl-tmp/FunASR/funasr/datasets/small_datasets/dataset.py", line 167, in _build_loader k, v = sps ValueError: not enough values to unpack (expected 2, got 0)

LauraGPT commented 12 months ago

Please check you data list. wav.scp textid wav_id id trans