| | |
| | | |
| | | import yaml |
| | | |
| | | |
| | | def update_dct(fin_configs, root): |
| | | if root == {}: |
| | | return {} |
| | |
| | | if mode == "asr": |
| | | from funasr.tasks.asr import ASRTask as ASRTask |
| | | elif mode == "paraformer": |
| | | from funasr.tasks.asr import ASRTaskParaformer as ASRTask |
| | | elif mode == "paraformer_streaming": |
| | | from funasr.tasks.asr import ASRTaskParaformer as ASRTask |
| | | elif mode == "paraformer_vad_punc": |
| | | from funasr.tasks.asr import ASRTaskParaformer as ASRTask |
| | |
| | | scheduler_conf=None, |
| | | specaug=None, |
| | | specaug_conf=None, |
| | | param_dict=None, |
| | | mate_params=None, |
| | | **kwargs): |
| | | mode = modelscope_dict['mode'] |
| | | args, ASRTask = parse_args(mode=mode) |
| | |
| | | finetune_configs = yaml.safe_load(f) |
| | | # set data_types |
| | | if dataset_type == "large": |
| | | # finetune_configs["dataset_conf"]["data_types"] = "sound,text" |
| | | if 'data_types' not in finetune_configs['dataset_conf']: |
| | | finetune_configs["dataset_conf"]["data_types"] = "sound,text" |
| | | finetune_configs = update_dct(configs, finetune_configs) |
| | | for key, value in finetune_configs.items(): |
| | | if hasattr(args, key): |
| | | setattr(args, key, value) |
| | | if mate_params is not None: |
| | | for key, value in mate_params.items(): |
| | | if hasattr(args, key): |
| | | setattr(args, key, value) |
| | | if mate_params is not None and "lora_params" in mate_params: |
| | | lora_params = mate_params['lora_params'] |
| | | configs['encoder_conf'].update(lora_params) |
| | | configs['decoder_conf'].update(lora_params) |
| | | |
| | | # prepare data |
| | | args.dataset_type = dataset_type |
| | |
| | | else: |
| | | raise ValueError(f"Not supported dataset_type={args.dataset_type}") |
| | | args.init_param = [init_param] |
| | | if mate_params is not None and "init_param" in mate_params: |
| | | if len(mate_params["init_param"]) != 0: |
| | | args.init_param = mate_params["init_param"] |
| | | args.cmvn_file = cmvn_file |
| | | if os.path.exists(seg_dict_file): |
| | | args.seg_dict_file = seg_dict_file |
| | |
| | | if args.dataset_type == "small": |
| | | args.batch_bins = batch_bins |
| | | elif args.dataset_type == "large": |
| | | # args.dataset_conf["batch_conf"]["batch_size"] = batch_bins |
| | | pass |
| | | args.dataset_conf["batch_conf"]["batch_size"] = batch_bins |
| | | else: |
| | | raise ValueError(f"Not supported dataset_type={args.dataset_type}") |
| | | if args.normalize in ["null", "none", "None"]: |