Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
theyoucheng committed Oct 25, 2021
1 parent 93bd5cb commit 40f00b1
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 25 deletions.
72 changes: 47 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,49 +1,71 @@
# DeepCover
# DeepCover: Uncover the Truth Behind AI
![Uncover the truth behind AI](images/deepcover.gif)

DeepCover is a tool for [testing](https://dl.acm.org/doi/abs/10.1145/3358233) and
[debugging](https://arxiv.org/abs/1908.02374) Deep Neural Network (DNNs).
![alt text](images/deepcover-logo)

## To start running the Statistical Fault Localization (SFL) based explaining:
DeepCover explains image classifiers using [statistical fault lolization](https://www.ecva.net/papers/eccv_2020/papers_ECCV/papers/123730392.pdf) and
[causal theory](https://openaccess.thecvf.com/content/ICCV2021/papers/Chockler_Explanations_for_Occluded_Images_ICCV_2021_paper.pdf).

# Install and Setup
#### Pre-Installed: `Conda 4.7.11`
#### All commands were tested on macOS 10.14.6 and Ubuntu 20.04
```
conda create --name deepcover-env python==3.7
conda activate deepcover-env
conda install opencv matplotlib seaborn
pip install tensorflow==2.3.0 keras==2.4.3
```

# Hello DeepCover
```
python ./sfl-src/sfl.py --mobilenet-model --inputs data/ --outputs outs
python ./src/deepcover.py --help
usage: deepcover.py [-h] [--model MODEL] [--inputs DIR] [--outputs DIR]
[--measures [...]] [--measure MEASURE] [--mnist-dataset]
[--normalized-input] [--cifar10-dataset] [--grayscale]
[--vgg16-model] [--inception-v3-model] [--xception-model]
[--mobilenet-model] [--attack] [--text-only]
[--input-rows INT] [--input-cols INT]
[--input-channels INT] [--x-verbosity INT]
[--top-classes INT] [--adversarial-ub FLOAT]
[--adversarial-lb FLOAT] [--masking-value INT]
[--testgen-factor FLOAT] [--testgen-size INT]
[--testgen-iterations INT] [--causal] [--wsol FILE]
[--occlusion FILE]
```

# More options

## To start running the Statistical Fault Localization (SFL) based explaining:
```
python ./sfl-src/sfl.py --help
usage: sfl.py [-h] [--model MODEL] [--inputs DIR] [--outputs DIR]
[--measures zoltar, tarantula ... [zoltar, tarantula ... ...]]
[--measure zoltar, tarantula ...] [--mnist-dataset]
[--cifar10-dataset] [--grayscale] [--vgg16-model]
[--inception-v3-model] [--xception-model] [--mobilenet-model]
[--attack] [--text-only] [--input-rows INT] [--input-cols INT]
[--input-channels INT] [--top-classes INT]
[--adversarial-ub FLOAT] [--adversarial-lb FLOAT]
[--adversarial-value FLOAT] [--testgen-factor FLOAT]
[--testgen-size INT] [--testgen-iterations INT]
python ./sfl-src/sfl.py --mobilenet-model --inputs data/panda --outputs outs
```

# Dependencies
We suggest create an environment using `conda`, `tensorflow>=2.0.0`
## To start running the causal theory based explaining:
```
conda create --name deepcover
source activate deepcover
conda install keras
conda install opencv
conda install pillow
python ./sfl-src/sfl.py --mobilenet-model --inputs data/panda --outputs outs --causal --testgen-iterations 50
```

# Publications
```
@inproceedings{sck2021,
AUTHOR = { Sun, Youcheng
and Chockler, Hana
and Kroening, Daniel },
TITLE = { Explanations for Occluded Images },
BOOKTITLE = { International Conference on Computer Vision (ICCV) },
PUBLISHER = { IEEE },
PAGES = { 1234--1243 },
YEAR = { 2021 }
}
```
```
@inproceedings{schk2020,
AUTHOR = { Sun, Youcheng
and Chockler, Hana
and Huang, Xiaowei
and Kroening, Daniel},
TITLE = {Explaining Image Classifiers using Statistical Fault Localization},
BOOKTITLE = {European Conference on Computer Vision (ECCV)},
YEAR = { 2020 },
YEAR = { 2020 }
}
```

Expand Down
Binary file added images/deepcover-logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 40f00b1

Please sign in to comment.