嘉渊
2023-04-24 abde816a6cd393697eac6ffea300061ec0ed8aae
update
2个文件已修改
154 ■■■■ 已修改文件
funasr/bin/train.py 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
funasr/build_utils/build_args.py 151 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
funasr/bin/train.py
@@ -19,7 +19,6 @@
from funasr.torch_utils.model_summary import model_summary
from funasr.torch_utils.pytorch_version import pytorch_cudnn_version
from funasr.torch_utils.set_all_random_seed import set_all_random_seed
from funasr.utils import config_argparse
from funasr.utils.prepare_data import prepare_data
from funasr.utils.types import str2bool
from funasr.utils.types import str_or_none
@@ -27,7 +26,7 @@
def get_parser():
    parser = config_argparse.ArgumentParser(
    parser = argparse.ArgumentParser(
        description="FunASR Common Training Parser",
    )
funasr/build_utils/build_args.py
@@ -1,6 +1,5 @@
import argparse
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
@@ -9,81 +8,81 @@
def build_args(args, extra_task_params):
    parser = 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(parser)
    parser.add_argument(
        "--split_with_space",
        type=str2bool,
        default=True,
        help="whether to split text using <space>",
    )
    parser.add_argument(
        "--seg_dict_file",
        type=str,
        default=None,
        help="seg_dict_file for text processing",
    )
    parser.add_argument(
        "--input_size",
        type=int_or_none,
        default=None,
        help="The number of input dimension of the feature",
    )
    parser.add_argument(
        "--ctc_conf",
        action=NestedDictAction,
        default=get_default_kwargs(CTC),
        help="The keyword arguments for CTC class.",
    )
    parser.add_argument(
        "--cmvn_file",
        type=str_or_none,
        default=None,
        help="The file path of noise scp file.",
    )
    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(parser)
        parser.add_argument(
            "--split_with_space",
            type=str2bool,
            default=True,
            help="whether to split text using <space>",
        )
        parser.add_argument(
            "--seg_dict_file",
            type=str,
            default=None,
            help="seg_dict_file for text processing",
        )
        parser.add_argument(
            "--input_size",
            type=int_or_none,
            default=None,
            help="The number of input dimension of the feature",
        )
        parser.add_argument(
            "--ctc_conf",
            action=NestedDictAction,
            default=get_default_kwargs(CTC),
            help="The keyword arguments for CTC class.",
        )
        parser.add_argument(
            "--cmvn_file",
            type=str_or_none,
            default=None,
            help="The file path of noise scp 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(parser)
    #     parser.add_argument(
    #         "--input_size",
    #         type=int_or_none,
    #         default=None,
    #         help="The number of input dimension of the feature",
    #     )
    #
    # 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(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(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(parser)
    #     parser.add_argument(
    #         "--input_size",
    #         type=int_or_none,
    #         default=None,
    #         help="The number of input dimension of the feature",
    #     )
    #
    # 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(parser)
    #
    # else:
    #     raise NotImplementedError("Not supported task: {}".format(args.task_name))
    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(parser)
        parser.add_argument(
            "--input_size",
            type=int_or_none,
            default=None,
            help="The number of input dimension of the feature",
        )
    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(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(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(parser)
        parser.add_argument(
            "--input_size",
            type=int_or_none,
            default=None,
            help="The number of input dimension of the feature",
        )
    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(parser)
    else:
        raise NotImplementedError("Not supported task: {}".format(args.task_name))
    task_args = parser.parse_args(extra_task_params)
    return task_args