speech_asr
2023-04-19 680cdb55bbde415c2f750e58808faedc6d1a6bf3
funasr/bin/train.py
@@ -4,9 +4,13 @@
import torch
from funasr.torch_utils.set_all_random_seed import set_all_random_seed
from funasr.utils import config_argparse
from funasr.utils.build_dataloader import build_dataloader
from funasr.utils.build_distributed import build_distributed
from funasr.utils.prepare_data import prepare_data
from funasr.utils.build_optimizer import build_optimizer
from funasr.utils.build_scheduler import build_scheduler
from funasr.utils.types import str2bool
@@ -24,6 +28,7 @@
        help="The number of gpus. 0 indicates CPU mode",
    )
    parser.add_argument("--seed", type=int, default=0, help="Random seed")
    parser.add_argument("--task_name", type=str, default="asr", help="Name for different tasks")
    # ddp related
    parser.add_argument(
@@ -336,8 +341,22 @@
            format=f"[{os.uname()[1].split('.')[0]}]"
                   f" %(asctime)s (%(module)s:%(lineno)d) %(levelname)s: %(message)s",
        )
    # prepare files for dataloader
    prepare_data(args, distributed_option)
    # set random seed
    set_all_random_seed(args.seed)
    torch.backends.cudnn.enabled = args.cudnn_enabled
    torch.backends.cudnn.benchmark = args.cudnn_benchmark
    torch.backends.cudnn.deterministic = args.cudnn_deterministic
    train_dataloader, valid_dataloader = build_dataloader(args)
    logging.info("world size: {}, rank: {}, local_rank: {}".format(distributed_option.dist_world_size,
                                                                   distributed_option.dist_rank,
                                                                   distributed_option.local_rank))
    prepare_data(args, distributed_option)
    model = build_model(args)
    optimizers = build_optimizer(args, model=model)
    schedule = build_scheduler(args)