wayne980 / TSAA

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Transferable Sparse Adversarial Attack

Pytorch Implementation of "Transferable Sparse Adversarial Attack".

Table of Contents

  1. Dependencies
  2. Pretrained-Generators
  3. Datasets
  4. Training/Eval

Dependencies

  1. Install pytorch. This repo is tested with pytorch==1.6.0.
  2. Install python packages using following command:
pip install -r requirements.txt

This repo is tested with python==3.8.5.

Pretrained-Generators

Download pretrained adversarial generators from here.

Adversarial generators are trained against following two models.

  • Inceptionv3
  • ResNet50

These models are trained on ImageNet and available in Pytorch.

Datasets

  • Training data:

  • Evaluations data:

    • randomly selected 5k images from ImageNet Validation Set. You can download evaluations data from here.

Training

Run the following command

  python train.py --train_dir [path_to_train] --model_type incv3 --eps 255 --target -1

This will start trainig a generator trained on one dataset (--train_dir) against Inceptionv3 (--model_type) under perturbation budget $\ell_\infty$=255 (--eps) in a non-targeted setting (--target).

Evaluations

Run the following command

  python eval.py --test_dir [path_to_val] --model_type incv3 --model_t res50 --eps 255 --target 971 --checkpoint [path_to_checkpoint]

This will load a generator trained against Inceptionv3 (--model_type) and evaluate clean and adversarial accuracy of ResNet50 (--model_t) under perturbation budget 255 (--eps) in a targeted setting (--target).

About


Languages

Language:Python 100.0%