VHAGaR:
In this repository, we provide an implementation for the paper "Verification of Neural Networks' Global Robustness" VHAGaR's paper. The repository owner is anan.kabaha@campus.technion.ac.il.
Prerequisites:
Julia Version 1.11.3 Gurobi 10.0 or 11.0 or 12.0 Python 3.8.10 Torch 2.4.1
Clone VHAGaR:
git clone https://github.com/ananmkabaha/VHAGaR.git cd to VHAGaR run julia run.jl
VHAGaR parameters:
--dataset: the dataset, can be either mnist, fmnist, cifar10
--model_name: the model name, can be either FC0, FC1, CNN0, CNN1, or CNN2
--model_path: the path of the model
--perturbation: the peturbation can be either occ, patch, brightness, linf, contrast, translation, rotation, or max
--perturbation_size: the size of the pertubation in this format: occ: i,j,width , patch: eps,i,j,width, brightness: eps, linf: eps, contrast: eps, translation: tx,ty, rotation: angle
--ctag: the source class
--ct: the target classes
--timeout: the MIP timeout
--output_dir: the output directory
julia run.jl --dataset mnist --model_name FC0 -m ./models/mnist_FC0/model.p --perturbation patch --perturbation_size 1,14,14,5 --output_dir ./results/ --ctag 1 --ct 2,3,4,5,6,7,8,9,10 --timeout 10800
julia run.jl --dataset mnist --model_name CNN1 -m ./models/mnist_CNN1/model.p --perturbation occ --perturbation_size 1,1,5 --output_dir ./results/ --ctag 1 --ct 2,3,4,5,6,7,8,9,10 --timeout 10800