Skip to content

Commit

Permalink
Update about, docs structure and getting started
Browse files Browse the repository at this point in the history
  • Loading branch information
TrisCC committed Jun 17, 2024
1 parent f1a6e82 commit 861b11f
Show file tree
Hide file tree
Showing 4 changed files with 86 additions and 8 deletions.
19 changes: 19 additions & 0 deletions docs/about.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# About Auto-Verify

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

<!-- TODO: Write some information about the portfolio construction algorithms -->

## Included verification algorithms

For the creation of a portfolio of different verification algorithms, Auto-Verify includes the following verification algorithms:

### CPU based verification algorithms

- [NNENUM](https://github.com/stanleybak/nnenum)
- [Verinet](https://github.com/vas-group-imperial/VeriNet)

### GPU based verification algorithms

- [Alpha-Beta Crown](https://github.com/Verified-Intelligence/alpha-beta-CROWN)
- [OVALBAB](https://github.com/oval-group/oval-bab)
47 changes: 47 additions & 0 deletions docs/contributing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# Contriburing

Auto-Verify is an open source project that accepts contributions. You can find open issues [here](https://github.com/ADA-research/auto-verify/issues).

## Setting up the development environment

### Forking the repository

To make changes to the code, you will need to fork the [repository](https://github.com/ADA-research/auto-verify).

### Setting up the conda environment

To use set up your development environment for Auto-Verify, you will need to install [Miniconda](https://docs.conda.io/projects/miniconda/en/latest/). Other environment managers will not work.

After installing Miniconde, you will need to create a conda environment. For example, you can use the commands below to create an environment for Auto-Verify.

```
> conda create -n auto-verify python=3.10
> conda activate auto-verify
```

### Setting up Auto-Verify for development

To install your local package of Auto-Verify, you will need to install an editable version. You can do this using the following command in your forked repository:

```
> pip install -e .
```

After doing this, you can run scripts locally and make your changes to the code.

!!! warning

You will still need to install the different verification algorithms with the CLI tool to use them.

### Running tests with Tox

To ensure that all the original code is working and everything is neat and tidy, you should run Tox to run the tests, linter and integration tests. To do this, you will need to install pytest and tox before you can run it. You can do this with the following commands.

```
> pip install tox
> tox
```

## Submitting your code

After you have made modifications to your code, open a pull request [here](https://github.com/ADA-research/auto-verify/pulls). If a maintainer approves of the changes and the pipeline succeeds, the pull request will be merged into the main repository.
22 changes: 16 additions & 6 deletions docs/index.md → docs/getting-started.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
# Auto-Verify

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

## Getting Started

!!! warning
### System requirements

Auto-Verify has only been tested for Linux and will not work on MacOS and Windows.
Auto-Verify has only been tested for Linux and will not work on MacOS and Windows. Alternatively, using [Windows Subsystem for Linux](https://learn.microsoft.com/nl-nl/windows/wsl/about) is also an option.

If you want to make use of the GPU based verification algorithms, you will need a CUDA-enabled GPU.

### Installing Auto-Verify

Expand Down Expand Up @@ -53,3 +51,15 @@ To uninstall a verifier, run:
```
> auto-verify uninstall [verifier]
```

### Downloading Datasets

If you have your own models to use with Auto-Verify, you can use those. However, if you just want to try it out, we recommend using the datasets that are provided for the VNNCOMP competition. These datasets are already made compatible with Auto-Verify and APIs are available to directly work with them. You can find the datasets from the previous years over here:

- VNNCOMP 2023: https://github.com/stanleybak/vnncomp2023

- VNNCOMP 2022: https://github.com/stanleybak/vnncomp2022

- VNNCOMP 2021: https://github.com/stanleybak/vnncomp2021

- VNNCOMP 2020: https://github.com/verivital/vnn-comp
6 changes: 4 additions & 2 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@ markdown_extensions:
- def_list

nav:
- Auto-Verify: index.md
- How-To Guides: how-to-guides.md
- About: index.md
- Getting started: getting-started.md
- How-to guides: how-to-guides.md
- API: api.md
- Contributing: contributing.md

0 comments on commit 861b11f

Please sign in to comment.