import argparse parser = argparse.ArgumentParser() parser.add_argument("--task", type=str, choices=('finetune', 'train')) parser.add_argument("--model", type=str, choices=('base', 'sup', 'unsup')) parser.add_argument("--dataset", type=str, choices=('sst', 'cfimdb'), default='sst') parser.add_argument("--train-mode", type=str, choices=('last-linear', 'full-model'), default='last-linear') args = parser.parse_args() if args.task == "finetune": if args.model == "sup": import finetune_scripts.sup elif args.model == "unsup": import finetune_scripts.unsup else: raise Exception("Invalid task for finetuning.") else: match (args.model, args.dataset, args.train_mode): case ('base', 'sst', 'last-linear'): import train_scripts.base_sst_ll case ('base', 'sst', 'full-model'): import train_scripts.base_sst_fm case ('base', 'cfimdb', 'last-linear'): import train_scripts.base_cfimdb_ll case ('base', 'cfimdb', 'full-model'): import train_scripts.base_cfimdb_fm case ('unsup', 'sst', 'last-linear'): import train_scripts.unsup_sst_ll case ('unsup', 'sst', 'full-model'): import train_scripts.unsup_sst_fm case ('unsup', 'cfimdb', 'last-linear'): import train_scripts.unsup_cfimdb_ll case ('unsup', 'cfimdb', 'full-model'): import train_scripts.unsup_cfimdb_fm case ('sup', 'sst', 'last-linear'): import train_scripts.sup_sst_ll case ('sup', 'sst', 'full-model'): import train_scripts.sup_sst_fm case ('sup', 'cfimdb', 'last-linear'): import train_scripts.sup_cfimdb_ll case ('sup', 'cfimdb', 'full-model'): import train_scripts.sup_cfimdb_fm