def load_args(model_dir): parser = get_parser() with open(f"{model_dir}/train.log") as f: cmd_args = f.readlines()[0].split()[2:] for i in range(len(cmd_args)): if "/" in cmd_args[i]: cmd_args[i] = f"{model_dir.parents[1]}/{cmd_args[i]}" args, _ = parser.parse_known_args(cmd_args) args.char_list = load_dict(args.dict) if args.dict is not None else None args.resume = str(Path(args.resume).parent/MODEL_NAME) return args
def wrap(parser): return get_parser(parser, required=False)
# Copyright 2020 Shanghai Jiao Tong University (Wangyou Zhang) # Apache 2.0 (http://www.apache.org/licenses/LICENSE-2.0) import json import sys from functools import reduce from operator import mul from espnet.bin.asr_train import get_parser from espnet.nets.pytorch_backend.nets_utils import get_subsample from espnet.utils.dynamic_import import dynamic_import if __name__ == "__main__": cmd_args = sys.argv[1:] parser = get_parser(required=False) parser.add_argument("--data-json", type=str, help="data.json") parser.add_argument("--mode-subsample", type=str, required=True, help='One of ("asr", "mt", "st")') parser.add_argument( "--min-io-delta", type=float, help="An additional parameter " "for controlling the input-output length difference", default=0.0, ) parser.add_argument( "--output-json-path", type=str,
separators=(",", ": "), ) logging.warning(f"Log saved at {args.outdir}/log") if args.patience > 0 and early_stop >= args.patience: test_stats = test("test_best", test_loader, model, save_path) logging.warning( f"=====Early stop! Final best test loss: {test_stats['loss']}") break if __name__ == "__main__": # 执行该命令运行4 GPU训练:CUDA_VISIBLE_DEVICES=0,1,2,3 python -m torch.distributed.launch --nproc_per_node=2 train.py setup_logging( verbose=0) # Should come first before other package import logging parser = get_parser() add_custom_arguments(parser) arg_list = sys.argv[1:] + [ "--dict", '', #"--dataset", "_".join("cv mt cnh ky dv sl el lv fyNL sah".split()), ] if "--config" not in arg_list: arg_list += ["--config", "config/train.yaml"] if "--outdir" not in arg_list: arg_list += ["--outdir", ''] args, _ = parser.parse_known_args(arg_list) # Use all GPUs ngpu = torch.cuda.device_count() if args.ngpu is None else args.ngpu