コード例 #1
0
ファイル: mnist_cnn1.py プロジェクト: liuchen11/dl_benchmark
                                      batch_size_test=args.batch_size_test)

    model = ConvNet1(input_size=[28, 28], input_channels=1, output_class=10)

    device_ids, model = parse_device_alloc(device_config=None, model=model)

    lr_func = parse_lr(policy=args.lr_policy, epoch_num=args.epoch_num)
    optimizer = parse_optim(policy=args.optim_policy,
                            params=model.parameters())

    setup_config = {kwarg: value for kwarg, value in args._get_kwargs()}
    setup_config['lr_list'] = [lr_func(idx) for idx in range(args.epoch_num)]
    if not os.path.exists(args.output_folder):
        os.makedirs(args.output_folder)

    tricks = {}
    if args.snapshots != None:
        tricks['snapshots'] = args.snapshots

    results = train_test(setup_config=setup_config,
                         model=model,
                         train_loader=train_loader,
                         test_loader=test_loader,
                         epoch_num=args.epoch_num,
                         optimizer=optimizer,
                         lr_func=lr_func,
                         output_folder=args.output_folder,
                         model_name=args.model_name,
                         device_ids=device_ids,
                         **tricks)
コード例 #2
0
        'test_safe_distance': {},
        'guaranteed_distances': []
    }

    for param in list(sorted(tosave['setup_config'].keys())):
        print('%s\t=>%s' % (param, tosave['setup_config'][param]))

    # Train
    train_test(model=model,
               train_loader=train_loader,
               test_loader=test_loader,
               attacker=attacker,
               epoch_num=args.epochs,
               optimizer=optimizer,
               out_folder=args.out_folder,
               model_name=args.model_name,
               bound_est=args.bound_est,
               alpha_list=alpha_list,
               eps_list=eps_list,
               gamma_list=gamma_list,
               T=args.T,
               norm=norm,
               device=device,
               criterion=criterion,
               tosave=tosave,
               at_per=args.at_per,
               pixel_range=args.pixel_range,
               update_freq=args.update_freq,
               bound_calc_per_batch=args.bound_calc_per_batch,
               regularize_mode=args.regularize_mode)