Skip to content

Khoury-srg/Ouroboros

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Instruction

Install miniconda, julia and git clone this repo.

wget https://repo.anaconda.com/miniconda/Miniconda3-py37_23.1.0-1-Linux-x86_64.sh
bash Miniconda3-py37_23.1.0-1-Linux-x86_64.sh
wget https://julialang-s3.julialang.org/bin/linux/x64/1.8/julia-1.8.5-linux-x86_64.tar.gz
tar zxvf julia-1.8.5-linux-x86_64.tar.gz
git clone https://github.com/Khoury-srg/Ouroboros.git

Add the following line to "~/.bashrc"

export PATH="$PATH:/path/to/julia-1.8.5/bin"  # use full path

then in terminal

source ~/.bashrc
julia

checkout NeuralVerification.jl to the "ouroboros" branch.

using Pkg
Pkg.develop(path="/path/to/Ouroboros/NeuralVerification.jl") # use full path
Pkg.add("LazySets")

Reopen terminal to activate miniconda and set up python environment

conda create --name ouroboros python==3.7
conda activate ouroboros
pip3 install torch torchvision torchaudio pandas onnx onnxruntime matplotlib annoy julia ipykernel
python

Inside python

import julia
julia.install()

The following commands reproduce all the figures and the model accuracy table in our paper.

cd /path/to/Ouroboros/src
python plot_figures.py
python generate_table.py

To re-run all the experiments:

python run_exp.py

All the models and training curves will be stored in results and figures will be sotred in imgs.

A copy of our results are stored in the paper_results folder for your reference.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published