| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- from funasr.models.ctc import CTC
- from funasr.utils import config_argparse
- from funasr.utils.get_default_kwargs import get_default_kwargs
- from funasr.utils.nested_dict_action import NestedDictAction
- from funasr.utils.types import int_or_none
- from funasr.utils.types import str2bool
- from funasr.utils.types import str_or_none
- def build_args(args, parser, extra_task_params):
- task_parser = config_argparse.ArgumentParser("Task related config")
- if args.task_name == "asr":
- from funasr.build_utils.build_asr_model import class_choices_list
- for class_choices in class_choices_list:
- class_choices.add_arguments(task_parser)
- task_parser.add_argument(
- "--split_with_space",
- type=str2bool,
- default=True,
- help="whether to split text using <space>",
- )
- task_parser.add_argument(
- "--seg_dict_file",
- type=str,
- default=None,
- help="seg_dict_file for text processing",
- )
- task_parser.add_argument(
- "--input_size",
- type=int_or_none,
- default=None,
- help="The number of input dimension of the feature",
- )
- task_parser.add_argument(
- "--ctc_conf",
- action=NestedDictAction,
- default=get_default_kwargs(CTC),
- help="The keyword arguments for CTC class.",
- )
- task_parser.add_argument(
- "--cmvn_file",
- type=str_or_none,
- default=None,
- help="The path of cmvn file.",
- )
- elif args.task_name == "pretrain":
- from funasr.build_utils.build_pretrain_model import class_choices_list
- for class_choices in class_choices_list:
- class_choices.add_arguments(task_parser)
- task_parser.add_argument(
- "--input_size",
- type=int_or_none,
- default=None,
- help="The number of input dimension of the feature",
- )
- task_parser.add_argument(
- "--cmvn_file",
- type=str_or_none,
- default=None,
- help="The path of cmvn file.",
- )
- elif args.task_name == "lm":
- from funasr.build_utils.build_lm_model import class_choices_list
- for class_choices in class_choices_list:
- class_choices.add_arguments(task_parser)
- elif args.task_name == "punc":
- from funasr.build_utils.build_punc_model import class_choices_list
- for class_choices in class_choices_list:
- class_choices.add_arguments(task_parser)
- elif args.task_name == "vad":
- from funasr.build_utils.build_vad_model import class_choices_list
- for class_choices in class_choices_list:
- class_choices.add_arguments(task_parser)
- task_parser.add_argument(
- "--input_size",
- type=int_or_none,
- default=None,
- help="The number of input dimension of the feature",
- )
- task_parser.add_argument(
- "--cmvn_file",
- type=str_or_none,
- default=None,
- help="The path of cmvn file.",
- )
- elif args.task_name == "diar":
- from funasr.build_utils.build_diar_model import class_choices_list
- for class_choices in class_choices_list:
- class_choices.add_arguments(task_parser)
- task_parser.add_argument(
- "--input_size",
- type=int_or_none,
- default=None,
- help="The number of input dimension of the feature",
- )
- elif args.task_name == "sv":
- from funasr.build_utils.build_sv_model import class_choices_list
- for class_choices in class_choices_list:
- class_choices.add_arguments(task_parser)
- task_parser.add_argument(
- "--input_size",
- type=int_or_none,
- default=None,
- help="The number of input dimension of the feature",
- )
- else:
- raise NotImplementedError("Not supported task: {}".format(args.task_name))
- for action in parser._actions:
- if not any(action.dest == a.dest for a in task_parser._actions):
- task_parser._add_action(action)
- task_parser.set_defaults(**vars(args))
- task_args = task_parser.parse_args(extra_task_params)
- return task_args
|