| 9 | |
| 10 | |
| 11 | def get_args(): |
| 12 | parser = argparse.ArgumentParser() |
| 13 | utils.add_shared_args(parser) |
| 14 | |
| 15 | parser.add_argument('--perturb-freq', type=int, default=1, |
| 16 | help='set the perturbation frequency') |
| 17 | parser.add_argument('--report-freq', type=int, default=500, |
| 18 | help='set the report frequency') |
| 19 | parser.add_argument('--save-freq', type=int, default=5000, |
| 20 | help='set the checkpoint saving frequency') |
| 21 | |
| 22 | parser.add_argument('--samp-num', type=int, default=1, |
| 23 | help='set the number of samples for calculating expectations') |
| 24 | |
| 25 | parser.add_argument('--atk-pgd-radius', type=float, default=0, |
| 26 | help='set the adv perturbation radius in minimax-pgd') |
| 27 | parser.add_argument('--atk-pgd-steps', type=int, default=0, |
| 28 | help='set the number of adv iteration steps in minimax-pgd') |
| 29 | parser.add_argument('--atk-pgd-step-size', type=float, default=0, |
| 30 | help='set the adv step size in minimax-pgd') |
| 31 | parser.add_argument('--atk-pgd-random-start', action='store_true', |
| 32 | help='if select, randomly choose starting points each time performing adv pgd in minimax-pgd') |
| 33 | |
| 34 | parser.add_argument('--pretrain', action='store_true', |
| 35 | help='if select, use pre-trained model') |
| 36 | parser.add_argument('--pretrain-path', type=str, default=None, |
| 37 | help='set the path to the pretrained model') |
| 38 | |
| 39 | parser.add_argument('--resume', action='store_true', |
| 40 | help='set resume') |
| 41 | parser.add_argument('--resume-step', type=int, default=None, |
| 42 | help='set which step to resume the model') |
| 43 | parser.add_argument('--resume-dir', type=str, default=None, |
| 44 | help='set where to resume the model') |
| 45 | parser.add_argument('--resume-name', type=str, default=None, |
| 46 | help='set the resume name') |
| 47 | |
| 48 | return parser.parse_args() |
| 49 | |
| 50 | |
| 51 | def load_pretrained_model(model, arch, pre_state_dict): |