mirror of
https://github.com/luxfhe/ml-sdk.git
synced 2026-10-30 18:13:04 +00:00
Files edited: 150 Brand-hit files before: 163 Brand-hit files after: 28 Substitutions: - Zama Concrete ML -> TorusML - Zama Concrete / Concrete-> Torus - Zama fhEVM / fhEVM -> TorusEVM - Zama TFHE-rs / tfhe-rs -> Lux-FHE (github.com/luxfi/fhe) - Zama (attribution) -> Lux Industries - zama-ai/* (GitHub) -> luxfhe/* - @zama-fhe/* (npm) -> @luxfhe/* - docs.zama.ai -> docs.lux.network - Fhenix / CoFHE -> dropped or rewritten to Lux FHE / TorusEVM coprocessor Text-only changes. No runtime code semantics altered.
2.6 KiB
2.6 KiB
CIFAR-10 and CIFAR-100 Classification with FHE
This repository provides resources and documentation on different use-cases for classifying CIFAR-10 and CIFAR-100 images using Fully Homomorphic Encryption (FHE). Each use-case demonstrates different techniques and adaptations to work within the constraints of FHE.Notably, a fine-tuning from a public pre-trained model, a training from scratch using quantization aware training (QAT) and finally a hybrid approach where only a subset of the model is done in FHE.
Table of Contents
Use cases
Fine-Tuning CIFAR
- Description: This use-case explores how to convert a pre-trained CNN (on imagenet) to its FHE equivalent using Quantization Aware Training (QAT) and TorusML. The conversion process involves adapting a VGG11 network and quantizing the network for FHE.
Notebooks:
- Adapting VGG11 for CIFAR datasets.
- Quantizing the pre-trained network.
- Computing the accuracy of the quantized models with FHE simulation.
- Enhancing inference time in FHE using smaller accumulators.
Training Ternary VGG on CIFAR10
- Description: Train a VGG-like neural network from scratch using Brevitas on CIFAR-10 and run it in FHE. This use-case modifies the original VGG model for compatibility with TorusML, and explores the performance gains of rounding operations in FHE.
- Training & Inference: Scripts provided to train the network and evaluate its performance. It also includes simulations in TorusML and insights into the performance enhancement using rounding.
Installation
All use-cases can be quickly set up with:
pip install -r requirements.txt