All Projects → zama-ai → concrete-numpy

zama-ai / concrete-numpy

Licence: other
Concrete Numpy is a python package that contains the tools data scientists need to compile various numpy functions into their Fully Homomorphic Encryption (FHE) equivalents. Concrete Numpy goes on top of the Concrete Library and its Compiler.

Programming Languages

python
139335 projects - #7 most used programming language
Makefile
30231 projects
shell
77523 projects

Projects that are alternatives of or similar to concrete-numpy

concrete
Concrete ecosystem is a set of crates that implements Zama's variant of TFHE. In a nutshell, fully homomorphic encryption (FHE), allows you to perform computations over encrypted data, allowing you to implement Zero Trust services.
Stars: ✭ 575 (+418.02%)
Mutual labels:  homomorphic-encryption, fhe, tfhe
fully-homomorphic-encryption
Libraries and tools to perform fully homomorphic encryption operations on an encrypted data set.
Stars: ✭ 2,737 (+2365.77%)
Mutual labels:  homomorphic-encryption, fhe
python demo
一些简单有趣的Python小Demo
Stars: ✭ 109 (-1.8%)
Mutual labels:  numpy
wavio
A Python module for reading and writing WAV files using numpy arrays.
Stars: ✭ 119 (+7.21%)
Mutual labels:  numpy
UDACITY-Deep-Learning-Nanodegree-PROJECTS
These are the projects I did on my Udacity Deep Learning Nanodegree 🌟 💻 💻. 💥 🌈
Stars: ✭ 18 (-83.78%)
Mutual labels:  numpy
seapy
State Estimation and Analysis in Python
Stars: ✭ 25 (-77.48%)
Mutual labels:  numpy
Python-for-data-analysis
No description or website provided.
Stars: ✭ 18 (-83.78%)
Mutual labels:  numpy
NothingButNumPy
This repo is part of a series of blog post titled "Nothing but NumPy"
Stars: ✭ 43 (-61.26%)
Mutual labels:  numpy
dsp-theory
Theory of digital signal processing (DSP): signals, filtration (IIR, FIR, CIC, MAF), transforms (FFT, DFT, Hilbert, Z-transform) etc.
Stars: ✭ 643 (+479.28%)
Mutual labels:  numpy
ml-workflow-automation
Python Machine Learning (ML) project that demonstrates the archetypal ML workflow within a Jupyter notebook, with automated model deployment as a RESTful service on Kubernetes.
Stars: ✭ 44 (-60.36%)
Mutual labels:  numpy
python-sharearray
Share numpy arrays across processes efficiently ideal for large, read-only datasets
Stars: ✭ 32 (-71.17%)
Mutual labels:  numpy
equilib
🌎→🗾Equirectangular (360/panoramic) image processing library for Python with minimal dependencies only using Numpy and PyTorch
Stars: ✭ 43 (-61.26%)
Mutual labels:  numpy
Poke-Pi-Dex
Our deep learning for computer vision related project for nostalgic poke weebs (Sistemi digitali, Unibo).
Stars: ✭ 18 (-83.78%)
Mutual labels:  numpy
Information-Retrieval
Information Retrieval algorithms developed in python. To follow the blog posts, click on the link:
Stars: ✭ 103 (-7.21%)
Mutual labels:  numpy
npbench
NPBench - A Benchmarking Suite for High-Performance NumPy
Stars: ✭ 40 (-63.96%)
Mutual labels:  numpy
PyRates
Open-source, graph-based Python code generator and analysis toolbox for dynamical systems (pre-implemented and custom models). Most pre-implemented models belong to the family of neural population models.
Stars: ✭ 33 (-70.27%)
Mutual labels:  numpy
datasets
🤗 The largest hub of ready-to-use datasets for ML models with fast, easy-to-use and efficient data manipulation tools
Stars: ✭ 13,870 (+12395.5%)
Mutual labels:  numpy
gau2grid
Fast computation of a gaussian and its derivative on a grid.
Stars: ✭ 23 (-79.28%)
Mutual labels:  numpy
Object-sorting-using-Robotic-arm-and-Image-processing
Sorting objects of different colors using robotic arm and using computer vision (image processing).
Stars: ✭ 21 (-81.08%)
Mutual labels:  numpy
primitiv-python
Python binding of primitiv.
Stars: ✭ 17 (-84.68%)
Mutual labels:  numpy

Concrete Numpy is an open-source set of tools which aims to simplify the use of fully homomorphic encryption (FHE) for data scientists.

With Concrete Numpy, data scientists can implement machine learning models using a subset of numpy that compiles to FHE. They will be able to train models with popular machine learning libraries and then convert the prediction functions of these models to FHE with concrete-numpy.

Links

For end users

Installation

The preferred way to use concrete-numpy is through docker. You can get the concrete-numpy docker image by pulling the latest docker image:

docker pull zamafhe/concrete-numpy:latest

To install Concrete Numpy from PyPi, run the following:

pip install concrete-numpy

You can find more detailed installation instructions in installing.md

A simple example: numpy addition in FHE

import concrete.numpy as hnp

def add(x, y):
    return x + y

inputset = [(2, 3), (0, 0), (1, 6), (7, 7), (7, 1), (3, 2), (6, 1), (1, 7), (4, 5), (5, 4)]
compiler = hnp.NPFHECompiler(add, {"x": "encrypted", "y": "encrypted"})

print(f"Compiling...")
circuit = compiler.compile_on_inputset(inputset)

examples = [(3, 4), (1, 2), (7, 7), (0, 0)]
for example in examples:
    result = circuit.encrypt_run_decrypt(*example)
    print(f"Evaluation of {' + '.join(map(str, example))} homomorphically = {result}")

For developers

Project setup

Installation steps are described in project_setup.md. Information about how to use Docker for development are available in docker.md.

Documenting

Some information about how to build the documentation of concrete-numpy are available in documenting.md. Notably, our documentation is pushed to https://docs.zama.ai/concrete-numpy/.

Developing

Some information about our terminology and the infrastructure of concrete-numpy are available in terminology_and_structure.md. An in-depth look at what is done in concrete-numpy is available in compilation.md.

Contributing

Information about how to contribute are available in contributing.md.

License

This software is distributed under the BSD-3-Clause-Clear license. If you have any questions, please contact us at [email protected].

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].