Skip to content

jhayes14/adversarial-patch

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 

adversarial-patch

PyTorch implementation of adversarial patch

This is an implementation of the Adversarial Patch paper. Not official and likely to have bugs/errors.

How to run:

Data set-up:

Run attack:

  • python make_patch.py --cuda --netClassifier inceptionv3 --max_count 500 --image_size 299 --patch_type circle --outf log

Results:

Using patch shapes of both circles and squares gave good results (both achieved 100% success on the training set and eventually > 90% success on test set)

I managed to recreate the toaster example in the original paper. It looks slightly different but it is evidently a toaster.

Alt text This is a toaster

Square patches are a little more homogenous due to that I only rotate by multiples of 90 degrees.

Alt text This is also a toaster

Issues:

  • Cannot make a perfect circle with numpy/pytorch. The hack I came up with makes the boundary slightly hexagonal.

  • Rather slow if max_count and conf_target are large.

  • Probably lots of redundant calls and variables.

About

PyTorch implementation of adversarial patch

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published