Beispiel #1
0
def code_test(model_path):

    from base_model.cifar_resnet18 import cifar_resnet18
    from dataset import create_test_dataset

    ds_val = create_test_dataset()

    #model_path = '../exps/exp0/checkpoint.pth.tar'

    net = cifar_resnet18()

    if model_path is not None:

        checkpoint = torch.load(model_path)

        net.load_state_dict(checkpoint['state_dict'])

    net.cuda()

    epoch = next(ds_val.epoch_generator())
    roboustness = evalRoboustness(net, epoch)

    print(roboustness)
    if model_path is not None:
        s = model_path.split('/')[-1]
        val_res_path = os.path.join(model_path[:-18], 'r_results.txt')
    with open(val_res_path, 'a') as f:
        f.write('\n')
        json.dump({'Roboustness': roboustness}, f)
Beispiel #2
0
def code_test():

    from base_model.cifar_resnet18 import cifar_resnet18
    from dataset import Dataset
    from my_snip.base import EpochDataset

    ds_val = Dataset(dataset_name = 'val')
    ds_val.load()
    ds_val = EpochDataset(ds_val)

    model_path = '../exps/exp0/checkpoint.pth.tar'

    net = cifar_resnet18()

    checkpoint = torch.load(model_path)

    net.load_state_dict(checkpoint['state_dict'])

    net.cuda()

    epoch = next(ds_val.epoch_generator())
    evalRoboustness(net, epoch)
Beispiel #3
0
def test_IPGD():
    model_path = './exps/exp0/model_best.pth.tar'

    from base_model.cifar_resnet18 import cifar_resnet18
    from dataset import Dataset
    from my_snip.base import EpochDataset

    pgd = IPGD()

    net = cifar_resnet18()
    net.load_state_dict(torch.load(model_path)['state_dict'])

    net.cuda()

    ds_train = Dataset(dataset_name='train')
    ds_train.load()
    ds_train = EpochDataset(ds_train)

    epoch = next(ds_train.epoch_generator())

    count = 0
    for mn_batch in epoch:

        count += 1
        if count > 100:
            break

        data = mn_batch['data']

        label = mn_batch['label']

        #print(data.shape)
        data = torch.tensor(data, dtype=torch.float32).cuda()
        label = torch.tensor(label, dtype=torch.int64).cuda()

        acc = pgd.get_batch_accuracy(net, data, label)

        print('acc: {:.2f}%'.format(acc))
def create_network():
    net = cifar_resnet18(num_class=10, expansion=1)

    return net
def create_network():
    net = cifar_resnet18()

    return net
Beispiel #6
0
    #global get_lea
    lr = get_learing_rate(epoch)
    for param_group in optimizer.param_groups:

        param_group['lr'] = lr

torch.backends.cudnn.benchmark = True
ds_train = Dataset(dataset_name = 'train')
ds_train.load()
ds_train = EpochDataset(ds_train)

ds_val = Dataset(dataset_name = 'val')
ds_val.load()
ds_val = EpochDataset(ds_val)

net = cifar_resnet18()
net.cuda()
criterion = nn.CrossEntropyLoss().cuda()
optimizer = optim.SGD(net.parameters(), lr = get_learing_rate(0), momentum = 0.9, weight_decay=args.weight_decay)

PgdAttack = IPGD(eps = args.eps, sigma = args.eps // 2, nb_iter = args.iter, norm = np.inf)


best_prec = 0.0
if args.resume:
    if os.path.isfile(args.resume):
        print("=> loading checkpoint '{}'".format(args.resume))
        check_point = torch.load(args.resume)
        args.start_epoch = check_point['epoch']
        net.load_state_dict(check_point['state_dict'])
        best_prec = check_point['best_prec']
Beispiel #7
0

def adjust_learning_rate(optimzier, epoch):
    #global get_lea
    lr = get_learing_rate(epoch)
    for param_group in optimizer.param_groups:

        param_group['lr'] = lr


torch.backends.cudnn.benchmark = True
ds_train = create_train_dataset()

ds_val = create_test_dataset()

net = cifar_resnet18(expansion=args.wide)
net.cuda()
criterion = nn.CrossEntropyLoss().cuda()
optimizer = optim.SGD(net.parameters(),
                      lr=get_learing_rate(0),
                      momentum=0.9,
                      weight_decay=args.weight_decay)

PgdAttack = IPGD(eps=args.eps,
                 sigma=args.eps // 2,
                 nb_iter=args.iter,
                 norm=np.inf)

best_prec = 0.0
if args.resume:
    if os.path.isfile(args.resume):