def load_pet_configs( args) -> Tuple[WrapperConfig, pet.TrainConfig, pet.EvalConfig]: """ Load the model, training and evaluation configs for PET from the given command line arguments. """ model_cfg = WrapperConfig( model_type=args.model_type, model_name_or_path=args.model_name_or_path, wrapper_type=args.wrapper_type, task_name=args.task_name, label_list=args.label_list, max_seq_length=args.pet_max_seq_length, verbalizer_file=args.verbalizer_file, cache_dir=args.cache_dir, ) train_cfg = pet.TrainConfig( device=args.device, per_gpu_train_batch_size=args.pet_per_gpu_train_batch_size, per_gpu_unlabeled_batch_size=args.pet_per_gpu_unlabeled_batch_size, n_gpu=args.n_gpu, num_train_epochs=args.pet_num_train_epochs, max_steps=args.pet_max_steps, min_steps=args.pet_min_steps, gradient_accumulation_steps=args.pet_gradient_accumulation_steps, weight_decay=args.weight_decay, learning_rate=args.learning_rate, adam_epsilon=args.adam_epsilon, warmup_steps=args.warmup_steps, max_grad_norm=args.max_grad_norm, lm_training=args.lm_training, logging_steps=args.logging_steps, logging_number=args.logging_number, alpha=args.alpha, local_rank=args.local_rank, ) eval_cfg = pet.EvalConfig( device=args.device, n_gpu=args.n_gpu, metrics=args.metrics, per_gpu_eval_batch_size=args.pet_per_gpu_eval_batch_size, decoding_strategy=args.decoding_strategy, priming=args.priming, local_rank=args.local_rank, ) return model_cfg, train_cfg, eval_cfg
def load_sequence_classifier_configs( args) -> Tuple[WrapperConfig, pet.TrainConfig, pet.EvalConfig]: """ Load the model, training and evaluation configs for a regular sequence classifier from the given command line arguments. This classifier can either be used as a standalone model or as the final classifier for PET/iPET. """ model_cfg = WrapperConfig( model_type=args.model_type, model_name_or_path=args.model_name_or_path, wrapper_type=SEQUENCE_CLASSIFIER_WRAPPER, task_name=args.task_name, label_list=args.label_list, max_seq_length=args.sc_max_seq_length, verbalizer_file=args.verbalizer_file, cache_dir=args.cache_dir, ) train_cfg = pet.TrainConfig( device=args.device, per_gpu_train_batch_size=args.sc_per_gpu_train_batch_size, per_gpu_unlabeled_batch_size=args.sc_per_gpu_unlabeled_batch_size, n_gpu=args.n_gpu, num_train_epochs=args.sc_num_train_epochs, max_steps=args.sc_max_steps, min_steps=args.sc_min_steps, temperature=args.temperature, gradient_accumulation_steps=args.sc_gradient_accumulation_steps, weight_decay=args.weight_decay, learning_rate=args.learning_rate, adam_epsilon=args.adam_epsilon, warmup_steps=args.warmup_steps, logging_steps=args.logging_steps, logging_number=args.logging_number, max_grad_norm=args.max_grad_norm, use_logits=args.method != "sequence_classifier", local_rank=args.local_rank, ) eval_cfg = pet.EvalConfig( device=args.device, n_gpu=args.n_gpu, metrics=args.metrics, per_gpu_eval_batch_size=args.sc_per_gpu_eval_batch_size, local_rank=args.local_rank, ) return model_cfg, train_cfg, eval_cfg