/he-compliant-approximation

Homomorphic encryption compliant learnable approximation

Primary LanguagePythonMIT LicenseMIT

HELA: Homomorphic Encryption Learnable Approximations

License: MIT Maintained: yes

Code style: black Code linter: flake8 Imports: isort Typing: mypy Doctrings: google

The HELA (Homomorphic Encryption Learnable Approximations) is an open-source library to accelerate the design of homomorphic encryption compliant neural networks. This is possible by:

  • substituting the neural network's modules.
  • customizing the behaviour of approximated modules.
  • organizing network training in a customizable pipeline, eventually with more than one approximation steps.
  • saving training pipeline logs and checkpoints in a single tidy experiment folder.

Installation guide

The package can be installed, for local development, with:

pip install -e .[dev,rdkit]

To avoid the installation of the RDKit dependency:

pip install -e .[dev]

Eventually, the RDKit dependency can be installed via Conda or Pypi:

# Install RDKit from Conda
conda install -c conda-forge rdkit

# Install RDKit from Pypi
pip install rdkit
# for Python<3.7
# pip install rdkit-pypi