赞
踩
Demo - White Box Attack (Imagenet)(https://nbviewer.org/github/Harry24k/adversarial-attacks-pytorch/blob/master/demos/White%20Box%20Attack%20%28ImageNet%29.ipynb)
import numpy as np import json import os import sys import time import warnings warnings.filterwarnings('ignore') import matplotlib.pyplot as plt %matplotlib inline import torch import torch.nn as nn import torch.optim as optim import torchvision.utils from torchvision import models import torchvision.datasets as dsets import torchvision.transforms as transforms import torchattacks from utils import imshow, image_folder_custom_label print("PyTorch", torch.__version__) print("Torchvision", torchvision.__version__) print("Torchattacks", torchattacks.__version__) print("Numpy", np.__version__)
根据这里的输出是
PyTorch 1.9.1+cu102
Torchvision 0.10.1+cu102
Torchattacks 3.2.4
Numpy 1.19.5
我安装了Pytorch 和Torchvison 注意需直接安装pip install torch双等于1.9.1+cu102 显示找不到对应版本,需要后面加上pytorch官方的url才行。类似:pip3 install torch双等号1.9.0+cu111 torchvision==0.10.0+cu111 -f https://download.pytorch.org/whl/torch_stable.html
这里需要注意from utils import imshow, image_folder_custom_label中utils一般为用户自己定义的包,所以这里引用没有用。需要自己改代码。
imagnet_data = image_folder_custom_label(root='./data/imagenet', transform=transform, idx2label=idx2label)
这里的image_folder_custom_label我用了from torchvision.datasets import ImageFolder替代,
imagnet_data=ImageFolder((root=’./data/imagenet’, transform=transform)这里需要注意,怎样使用ImageFolder,里面参数要了解,他是以文件夹名字作为label的。
imshow(torchvision.utils.make_grid(images, normalize=True), [imagnet_data.classes[i] for i in labels])
这个imshow用plt代替。
但是结果不尽人意,鲁棒性都为0,可能是过程有误。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。