mirror of
https://github.com/luxfhe/workshop.git
synced 2026-10-30 17:06:44 +00:00
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 Torus ML. 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 Torus ML, 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 Torus ML and insights into the performance enhancement using rounding.
Installation
All use-cases can be quickly set up with:
pip install -r requirements.txt