We currently recommend installing DNNV from source, since it requires less manual effort to correctly set up environment variables.
- Python 3.7+
Currently, the easiest way to use DNNV is to clone the
github repository, and use the provided
to initiallize a python virtual environment and install
verifiers. This requires Python 3.7 or above to be installed,
as well as the venv module, which may need to be installed
sudo apt-get install python3-venv).
To clone the source code, run:
git clone https://github.com/dlshriver/DNNV.git
To create a python virtual environment, and install required pacakges for this project, run:
Additionally, we provide a script to activate the virtual
environment and set up environment variables required to find
verification tools installed using
manage.sh. To activate
the environment, run:
Finally, any of the supported verifiers can be installed
install command to the
manage.sh script, followed
by the name of the verifier.
For example, to install the Reluplex verifier, run:
./manage.sh install reluplex
DNNV supports the following verifiers:
- ERAN (deepzono, deeppoly, refinezono, refinepoly)
- PLNN (bab, babsb)
DNNV can also be installed into an existing virtual environment.
To do so, we require the module
flit be installed.
To install DNNV, ensure that the desired virtual environment is
activated, and then run:
This method requires the user to manually configure environment
variables to point to installed verification tools. This can still
be done with the
.env.d/openenv.sh script if tools were installed
DNNV can also be installed using pip.
Currently, installing with pip does not provide access to the
manage.sh script, so verification tools must be installed
separately. Additionally, they must be accessible on the
To install DNNV using pip, run:
pip install dnnv