Esempio n. 1
0
def load_net(attack_model, filename, path):
    if(attack_model == "CNN"):
        from deeprobust.image.netmodels.CNN import Net

        model = Net()
    if(attack_model == "ResNet18"):
        import deeprobust.image.netmodels.resnet as Net
        model = Net.ResNet18()

    model.load_state_dict(torch.load(path + filename))
    model.eval()
    return model
Esempio n. 2
0
import numpy as np
import torch
import torch.nn as nn
from torchvision import datasets, models, transforms

from deeprobust.image.attack.Nattack import NATTACK
from deeprobust.image.netmodels.CNN import Net

#initialize model
model = Net()
model.load_state_dict(
    torch.load("defense_model/mnist_pgdtraining_0.3.pt",
               map_location=torch.device('cuda')))
model.eval()
print("----------model_parameters-----------")

for names, parameters in model.named_parameters():
    print(names, ',', parameters.type())
print("-------------------------------------")
data_loader = torch.utils.data.DataLoader(datasets.MNIST(
    'deeprobust/image/data',
    train=True,
    download=True,
    transform=transforms.Compose([transforms.ToTensor()])),
                                          batch_size=1,
                                          shuffle=True)

attack = NATTACK(model)
attack.generate(dataloader=data_loader, classnum=10)