Skip to content

Auto-Verify

Auto-Verify is a tool that provides interfaces, parameter spaces and installation managers for different neural network verification tools.

Getting Started

Warning

Auto-Verify has only been tested for Linux and will not work on MacOS and Windows.

Installing Auto-Verify

First, install Miniconda. Miniconda is used to manage the environments of different verification tools, other environment managers will not work.

Warning

Anaconda can fail trying to install environments in some cases where Miniconda does not.

After Miniconda is installed, setup Auto-Verify by running the following commands:

> conda create -n auto-verify python=3.10
> conda activate auto-verify
> pip install auto-verify

To check if the installation was succesful, run:

> auto-verify --version

Installing Verification Tools

Currently, Auto-Verify supports the following verifiers:

  • nnenum (Stanley Bak)
  • AB-Crown (Zhang et al.)
  • VeriNet (VAS Group)
  • Oval-BaB (OVAL Research Group)
  • SDP-CROWN (Chiu et al. - OVAL Research Group) – specializes in efficient robustness verification under the L2 perturbation norm using semidefinite-program-based bound propagation.

These verifiers can be installed as follows:

> auto-verify install nnenum
> auto-verify install abcrown
> auto-verify install sdpcrown
> auto-verify install verinet
> auto-verify install ovalbab

To uninstall a verifier, run:

> auto-verify uninstall [verifier]