https://github.com/causallearning/sparsefool
Science Score: 36.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
✓Academic publication links
Links to: arxiv.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (9.9%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: CausalLearning
- License: apache-2.0
- Language: Python
- Default Branch: master
- Size: 695 KB
Statistics
- Stars: 110
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
SparseFool
This repository contains the official PyTorch implementation of SparseFool algorithm described in [1].
Requirements
To execute the code, please make sure that the following packages are installed:
- NumPy
- PyTorch and Torchvision (install with CUDA if available)
- matplotlib
Executing the demos
test_sparsefool.py
A simple demo that computes the sparse adversarial perturbation of a test image.
test_perceptibility.py
A simple demo that controls the perceptibility of the resulted perturbation of a test image.
Contents
sparsefool.py
This function implements the algorithm proposed in [1] using PyTorch to find sparse adversarial perturbations.
The parameters of the function are:
im: image (tensor).net: neural network.lb: the lower bounds for the adversarial image values.ub: the upper bounds for the adversarial image values.lambda_: the control parameter for going further into the classification region, by default = 3.max_iter: max number of iterations, by default = 50.
linear_solver.py
This function implements the algorithm proposed in [1] for solving the linearized box-constrained problem. It is used by sparsefool.py for solving the linearized problem.
deepfool.py
This function implements the algorithm proposed in [2] for computing adversarial perturbations. It is used by sparsefool.py for the linear approximation of the decision boundary.
utils.py
Includes general functions
data/
Contains some examples for the demos. The images where cropped to have square dimensions:
cat.jpg(source): it is used by test_sparsefool.py.red_light.jpg(source): it is used by test_perceptibility.py.
Reference
[1] A. Modas, S. Moosavi-Dezfooli, P. Frossard: SparseFool: a few pixels make a big difference. In Computer Vision and Pattern Recognition (CVPR ’19), IEEE, 2019.
[2] S. Moosavi-Dezfooli, A. Fawzi, P. Frossard: DeepFool: a simple and accurate method to fool deep neural networks. In Computer Vision and Pattern Recognition (CVPR ’16), IEEE, 2016.
Owner
- Name: CausalLearning
- Login: CausalLearning
- Kind: organization
- Repositories: 1
- Profile: https://github.com/CausalLearning
GitHub Events
Total
- Watch event: 67
Last Year
- Watch event: 67