A Reusable sparse adversarial test case generation method for CV(computer Vision) software
Code release and supplementary materials for:
"TIAFuzz:Transferable Fuzzing via Distillation for Image-Based Deep Learning Systems"
The code was tested with:
- python 3.7.0
- h5py 3.8.0
- ipykernel 6.19.2
- matplotlib 3.7.2
- numpy 1.25.2
- pandas 1.5.3
- scikit-image 0.21.0
- scipy 1.9.3
- torch 1.11.0
- torchvision 0.12.0
- tqdm 4.64.1
Training the surrogate model.
python main.py
Test case generation by the test case generation methods on CIFAR-10 using or without using the surrogate model trained by SDST
python attack.py - method_name_index 7
| Index | Method | Surrogate Model | Index | Method | Surrogate Model |
|---|---|---|---|---|---|
| 0 | GreedyFool | ResNet18 | 1 | GreedyFool | EMA-ResNet18 |
| 2 | PGD | ResNet18 | 3 | PGD | EMA-ResNet18 |
| 4 | SparseFool | ResNet18 | 5 | SparseFool | EMA-ResNet18 |
| 6 | GMI | ResNet18 | 7 | GMI | EMA-ResNet18 |
- Training the surrogate model without using EMA
python main_ablation.py #train the surrogate model cd Ablation_EMA python attack.py - Attack the surrogate model by GMI without using momentum
cd Ablation_momentum python attack.py