CoCoNet is a tool for construction and conversion of neural networks
across different standards.
See the LICENSE
for usage terms.
CoCoNet is written in Python, and relies on the
pyNeVer API.
Here we collect the bibtex entries on our publications related to CoCoNet
@inproceedings{FoMLAS2023:DemarchiGPT23,
author = {Stefano Demarchi and Dario Guidotti and Luca Pulina and Armando Tacchella},
title = {Supporting Standardization of Neural Networks Verification with {VNNLIB} and {CoCoNet}},
booktitle = {Proceedings of the 6th Workshop on Formal Methods for ML-Enabled Autonomous Systems},
editor = {Nina Narodytska and Guy Amir and Guy Katz and Omri Isac},
series = {Kalpa Publications in Computing},
volume = {16},
pages = {47--58},
year = {2023},
publisher = {EasyChair},
issn = {2515-1762},
url = {https://easychair.org/publications/paper/Qgdn},
doi = {10.29007/5pdh}}
CoCoNet can be executed on any system running Python >= 3.9.5
The instructions below have been tested on Windows,
Ubuntu Linux and Mac OS x86 and ARM-based Mac OS.
The packages required in order to run CoCoNet are the pyNeVer API and the PyQt6 framework, which can be installed via PIP
pip install pynever PyQt6
After the installation, you can run CoCoNet from the root directory
python CoCoNet/coconet.py
Since the Python packages needed are incompatible with "Python for ARM Platform" you can install miniforge for arm64 (Apple Silicon) and create a Python virtual environment.
Create a new environment using Python 3.9.5 and activate it
$ conda create -n myenv python=3.9.5
$ conda activate myenv
$ conda install -c apple tensorflow-deps
You can now run PIP for installing the libraries and run CoCoNet
$ pip install tensorflow-macos tensorflow-metal
$ pip install pynever PyQt6
$ python CoCoNet/coconet.py
Note that each time you want to run CoCoNet you'll need to activate the Conda environment.
CoCoNet is a GUI for constructing and converting Neural Networks, but it also provides a simple CLI usage for checking whether a NN is compliant with VNN-LIB and quick-converting networks in the ONNX format. Typing
python CoCoNet/coconet.py -h
shows the possible command-line instructions available.