()
| 288 | return args |
| 289 | |
| 290 | def construct_arguments(): |
| 291 | args = get_arguments() |
| 292 | |
| 293 | # Prepare Logger |
| 294 | logger = Logger(cuda=torch.cuda.is_available() and not args.no_cuda) |
| 295 | args.logger = logger |
| 296 | config = json.load(open(args.config_file, 'r', encoding='utf-8')) |
| 297 | args.config = config |
| 298 | |
| 299 | args.job_name = config['name'] if args.job_name is None else args.job_name |
| 300 | print("Running Config File: ", args.job_name) |
| 301 | # Setting the distributed variables |
| 302 | print("Args = {}".format(args)) |
| 303 | |
| 304 | # Setting all the seeds so that the task is random but same accross processes |
| 305 | random.seed(args.seed) |
| 306 | np.random.seed(args.seed) |
| 307 | torch.manual_seed(args.seed) |
| 308 | torch.cuda.manual_seed_all(args.seed) |
| 309 | |
| 310 | os.makedirs(args.output_dir, exist_ok=True) |
| 311 | args.saved_model_path = os.path.join( |
| 312 | args.output_dir, "saved_models/", args.job_name) |
| 313 | |
| 314 | args.n_gpu = 1 |
| 315 | |
| 316 | # Loading Tokenizer |
| 317 | tokenizer = BertTokenizer.from_pretrained(config["bert_token_file"]) |
| 318 | args.tokenizer = tokenizer |
| 319 | |
| 320 | # Issue warning if early exit from epoch is configured |
| 321 | if args.max_steps < sys.maxsize: |
| 322 | logging.warning('Early training exit is set after {} global steps'.format(args.max_steps)) |
| 323 | |
| 324 | if args.max_steps_per_epoch < sys.maxsize: |
| 325 | logging.warning('Early epoch exit is set after {} global steps'.format(args.max_steps_per_epoch)) |
| 326 | |
| 327 | return args |
| 328 | |
| 329 | def prepare_optimizer_parameters(args, model): |
| 330 | config = args.config |
no test coverage detected