lp_nn_robustness_verification
This code base is intended to serve as a starting point for interested researchers or practitioners to extend or apply the robustness verification portion of the author's Master's thesis " GUM-compliant neural-network robustness verification".
https://github.com/bjoernludwigptb/lp_nn_robustness_verification
Science Score: 54.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.8%) to scientific vocabulary
Keywords
Repository
This code base is intended to serve as a starting point for interested researchers or practitioners to extend or apply the robustness verification portion of the author's Master's thesis " GUM-compliant neural-network robustness verification".
Basic Info
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 5
Topics
Metadata Files
README.md
Neural network robustness verification via Linear Programming
This is the code written in conjunction with the second part of the author's Master's thesis on GUM-compliant neural network robustness verification. The code was written for Python 3.10.
The final submission date was 23. January 2023.
Getting started
The INSTALL guide assists in installing the required packages. After that you might want to have a look at our examples and/or the provided notebook to get a feeling for how to use the software.
Documentation
To locally build the HTML or pdf documentation first the required dependencies need to be installed into your virtual environment (check the INSTALL guide first and upon completion execute the following):
shell
(venv) $ python -m piptools sync docs-requirements.txt
(venv) $ sphinx-build docs/ docs/_build
sphinx-build docs/ docs/_build
Running Sphinx v5.3.0
loading pickled environment... done
[...]
The HTML pages are in docs/_build.
After that the documentation can be viewed by opening the file docs/_build/index.html in any browser.
Roadmap
- check what improvements are made by switching to optimizable variables for the $r_i$ s
Disclaimer
This software is developed under the sole responsibility of Björn Ludwig (the author in the following). The software is made available "as is" free of cost. The author assumes no responsibility whatsoever for its use by other parties, and makes no guarantees, expressed or implied, about its quality, reliability, safety, suitability or any other characteristic. In no event will the author be liable for any direct, indirect or consequential damage arising in connection with the use of this software.
License
lpnnrobustness_verification is distributed under the MIT license.
Owner
- Name: Björn Ludwig
- Login: BjoernLudwigPTB
- Kind: user
- Location: Berlin, Germany
- Company: Physikalisch-Technische Bundesanstalt
- Website: https://www.ptb.de/cms/ptb/fachabteilungen/abt9/fb-94/das-team-des-fachbereichs-94.html#c124911
- Repositories: 4
- Profile: https://github.com/BjoernLudwigPTB
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: lp_nn_robustness_verification
message: >-
If you use this software, please cite it using the provided metadata.
type: software
authors:
- given-names: Björn
family-names: Ludwig
email: bjoern.ludwig@ptb.de
affiliation: Physikalisch-Technische Bundesanstalt
orcid: 'https://orcid.org/0000-0002-5910-9137'
repository-code: >-
https://github.com/BjoernLudwigPTB/lp_nn_robustness_verification
repository: >-
https://gitlab1.ptb.de/ludwig10_masters_thesis/lp_nn_robustness_verification
abstract: >-
This code base is intended to serve as a starting point
for interested researchers or practitioners to extend or
apply the robustness verification portion of the author's
Master's thesis " GUM-compliant neural-network robustness
verification". It provides an implementation using
PySCIPOpt in Python 3.10.
keywords:
- robustness verification
- linear programming
- neural networks
- pyscipopt
license: MIT
version: 0.8.0
identifiers:
- description: >-
This is the general DOI to cite all versions of the software. To cite a specific
version, please check the README or the Zenodo webpage.
type: doi
value: "10.5281/zenodo.7551372"
references:
- authors:
- given-names: Stephen
family-names: Maher
- given-names: Matthias
family-names: Miltenberger
- given-names: Jo{\~{a}}o
family-names: Pedroso
- given-names: Pedro
family-names: Pedroso
- given-names: Daniel
family-names: Rehfeldt
- given-names: Robert
family-names: Schwarz
- given-names: Felipe
family-names: Serrano
title: >-
PySCIPOpt: Mathematical Programming in Python with the SCIP Optimization Suite
type: article
doi: 10.1007/978-3-319-42432-3_37
date-released: 2016-07-06
repository: https://doi.org/10.1007/978-3-319-42432-3_37
repository-code: https://github.com/scipopt/PySCIPOpt
- authors:
- given-names: Tanja
family-names: Dorst
affiliation: ZeMA gGmbH
orcid: 'https://orcid.org/0000-0001-9756-9014'
- given-names: Maximilian
family-names: Gruber
email: maximilian.gruber@ptb.de
affiliation: Physikalisch-Technische Bundesanstalt
- given-names: Anupam Prasad
family-names: Vedurmudi
email: anupam.vedurmudi@ptb.de
affiliation: Physikalisch-Technische Bundesanstalt
title: >-
Sensor data set of one electromechanical cylinder at ZeMA
testbed (ZeMA DAQ and Smart-Up Unit)
type: data
doi: 10.5281/zenodo.5185953
date-released: 2021-09-10
repository: https://doi.org/10.5281/zenodo.5185953
repository-artifact: >-
https://zenodo.org/record/5185953/files/axis11_2kHz_ZeMA_PTB_SI.h5?download=1
license: CC-BY-4.0
GitHub Events
Total
Last Year
Dependencies
- crlibm ==1.0.3
- numpy ==1.24.1
- pyinterval ==1.2.0
- pyscipopt ==4.2.0
- six ==1.16.0
- wheel ==0.38.4
- 170 dependencies
- astroid ==2.13.3 development
- asttokens ==2.2.1 development
- attrs ==22.2.0 development
- backcall ==0.2.0 development
- black ==22.12.0 development
- certifi ==2022.12.7 development
- cffconvert ==2.0.0 development
- charset-normalizer ==3.0.1 development
- click ==8.1.3 development
- coverage ==7.0.5 development
- crlibm ==1.0.3 development
- decorator ==5.1.1 development
- dill ==0.3.6 development
- docopt ==0.6.2 development
- exceptiongroup ==1.1.0 development
- executing ==1.2.0 development
- flake8 ==6.0.0 development
- flake8-pyproject ==1.2.2 development
- hypothesis ==6.63.0 development
- idna ==3.4 development
- iniconfig ==2.0.0 development
- ipython ==8.8.0 development
- isort ==5.11.4 development
- jedi ==0.18.2 development
- jsonschema ==3.2.0 development
- lazy-object-proxy ==1.9.0 development
- matplotlib-inline ==0.1.6 development
- mccabe ==0.7.0 development
- mypy ==0.991 development
- mypy-extensions ==0.4.3 development
- numpy ==1.24.1 development
- packaging ==23.0 development
- parso ==0.8.3 development
- pathspec ==0.10.3 development
- pexpect ==4.8.0 development
- pickleshare ==0.7.5 development
- platformdirs ==2.6.2 development
- pluggy ==1.0.0 development
- prompt-toolkit ==3.0.36 development
- ptyprocess ==0.7.0 development
- pure-eval ==0.2.2 development
- pycodestyle ==2.10.0 development
- pyflakes ==3.0.1 development
- pygments ==2.14.0 development
- pyinterval ==1.2.0 development
- pykwalify ==1.8.0 development
- pylint ==2.15.10 development
- pyrsistent ==0.19.3 development
- pyscipopt ==4.2.0 development
- pytest ==7.2.1 development
- pytest-cov ==4.0.0 development
- pytest-custom-exit-code ==0.3.0 development
- python-dateutil ==2.8.2 development
- requests ==2.28.2 development
- ruamel-yaml ==0.17.21 development
- ruamel-yaml-clib ==0.2.7 development
- six ==1.16.0 development
- sortedcontainers ==2.4.0 development
- stack-data ==0.6.2 development
- tokenize-rt ==5.0.0 development
- tomli ==2.0.1 development
- tomlkit ==0.11.6 development
- traitlets ==5.8.1 development
- typing-extensions ==4.4.0 development
- urllib3 ==1.26.14 development
- wcwidth ==0.2.6 development
- wheel ==0.38.4 development
- wrapt ==1.14.1 development
- alabaster ==0.7.13
- attrs ==22.2.0
- babel ==2.11.0
- beautifulsoup4 ==4.11.1
- bleach ==5.0.1
- certifi ==2022.12.7
- charset-normalizer ==3.0.1
- crlibm ==1.0.3
- defusedxml ==0.7.1
- docutils ==0.17.1
- entrypoints ==0.4
- fastjsonschema ==2.16.2
- idna ==3.4
- imagesize ==1.4.1
- jinja2 ==3.1.2
- jsonschema ==4.17.3
- jupyter-client ==7.4.9
- jupyter-core ==5.1.3
- jupyterlab-pygments ==0.2.2
- markdown-it-py ==2.1.0
- markupsafe ==2.1.2
- mdit-py-plugins ==0.3.3
- mdurl ==0.1.2
- mistune ==2.0.4
- myst-parser ==0.18.1
- nbclient ==0.7.2
- nbconvert ==7.2.8
- nbformat ==5.7.3
- nbsphinx ==0.8.12
- nest-asyncio ==1.5.6
- numpy ==1.24.1
- packaging ==23.0
- pandocfilters ==1.5.0
- platformdirs ==2.6.2
- pygments ==2.14.0
- pyinterval ==1.2.0
- pyrsistent ==0.19.3
- pyscipopt ==4.2.0
- python-dateutil ==2.8.2
- pytz ==2022.7.1
- pyyaml ==6.0
- pyzmq ==25.0.0
- requests ==2.28.2
- six ==1.16.0
- snowballstemmer ==2.2.0
- soupsieve ==2.3.2.post1
- sphinx ==5.3.0
- sphinx-rtd-theme ==1.1.1
- sphinxcontrib-applehelp ==1.0.3
- sphinxcontrib-devhelp ==1.0.2
- sphinxcontrib-htmlhelp ==2.0.0
- sphinxcontrib-jsmath ==1.0.1
- sphinxcontrib-qthelp ==1.0.3
- sphinxcontrib-serializinghtml ==1.1.5
- tinycss2 ==1.2.1
- tornado ==6.2
- traitlets ==5.8.1
- typing-extensions ==4.4.0
- urllib3 ==1.26.14
- webencodings ==0.5.1
- wheel ==0.38.4
- 101 dependencies
- numpy *
- pyinterval *
- pyscipopt *
- appdirs ==1.4.4
- bleach ==5.0.1
- certifi ==2022.12.7
- cffi ==1.15.1
- charset-normalizer ==3.0.1
- click ==8.1.3
- click-log ==0.4.0
- colorama ==0.4.6
- crlibm ==1.0.3
- cryptography ==39.0.0
- docutils ==0.19
- dotty-dict ==1.3.1
- gitdb ==4.0.10
- gitpython ==3.1.30
- h5py ==3.7.0
- idna ==3.4
- importlib-metadata ==6.0.0
- invoke ==1.7.3
- jaraco-classes ==3.2.3
- jeepney ==0.8.0
- keyring ==23.13.1
- more-itertools ==9.0.0
- numpy ==1.24.1
- packaging ==23.0
- pkginfo ==1.9.6
- pooch ==1.6.0
- pycparser ==2.21
- pygments ==2.14.0
- pyinterval ==1.2.0
- pyscipopt ==4.2.0
- python-gitlab ==3.12.0
- python-semantic-release ==7.33.0
- readme-renderer ==37.3
- requests ==2.28.2
- requests-toolbelt ==0.10.1
- rfc3986 ==2.0.0
- secretstorage ==3.3.3
- semver ==2.13.0
- six ==1.16.0
- smmap ==5.0.0
- tomlkit ==0.11.6
- tqdm ==4.64.1
- twine ==3.8.0
- urllib3 ==1.26.14
- webencodings ==0.5.1
- wheel ==0.38.4
- zema-emc-annotated ==0.4.0
- zipp ==3.11.0