Пример #1
0
def main(args):
    torch.backends.cudnn.enabled = True
    torch.backends.cudnn.benchmark = True

    seed = args.seed
    torch.manual_seed(seed)
    torch.cuda.manual_seed(seed)
    np.random.seed(seed)

    np.set_printoptions(precision=4)
    torch.set_printoptions(precision=4)
    solver = Solver(args)

    if args.mode == 'train':
        solver.train()
    elif args.mode == 'test':
        solver.test()
    elif args.mode == 'generate':
        solver.generate(target=args.target,
                        epsilon=args.epsilon,
                        alpha=args.alpha,
                        iteration=args.iteration)
    elif args.mode == 'ad_train':
        solver.ad_train(target=args.target,
                        alpha=args.alpha,
                        iteration=args.iteration,
                        lamb=0.3)
    elif args.mode == 'ad_test':  #adversarial image test
        solver.ad_test(target=args.target,
                       epsilon=args.epsilon,
                       alpha=args.alpha,
                       iteration=args.iteration)
    else:
        return
    print('[*] Finished')