diff --git a/use_case_examples/cifar/README.md b/use_case_examples/cifar/README.md new file mode 100644 index 0000000000..1eed4a1363 --- /dev/null +++ b/use_case_examples/cifar/README.md @@ -0,0 +1,55 @@ +# 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. + +## Table of Contents +1. [Use-Cases](#use-cases) + - [Fine-Tuning CIFAR-10/100](#fine-tuning-cifar-10100) + - [Training Ternary VGG on CIFAR10](#training-ternary-vgg-on-cifar10) + - [CIFAR-10 with a Split Clear/FHE Model](#cifar-10-with-a-split-clearfhe-model) +2. [Installation](#installation) +3. [Further Reading & Resources](#further-reading--resources) + +## Use cases + +### Fine-Tuning CIFAR-10/100 + +- **Description**: This use-case explores how to convert a pre-trained CNN (on imagenet) to its FHE equivalent using QAT and Concrete ML. The conversion process involves adapting a VGG11 network and quantizing the network for FHE. + +- Notebooks: +1. [Adapting VGG11 for CIFAR datasets](cifar_brevitas_finetuning/FromImageNetToCifar.ipynb). +2. [Quantizing the pre-trained network](cifar_brevitas_finetuning/CifarQuantizationAwareTraining.ipynb). +3. [Computing the accuracy of the quantized models with FHE simulation](cifar_brevitas_finetuning/CifarInFhe.ipynb). +4. [Enhancing inference time in FHE using smaller accumulators](cifar_brevitas_finetuning/CifarInFheWithSmallerAccumulators.ipynb). + +[Results & Metrics](cifar_brevitas_finetuning/README.md#results) + +### 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 Concrete ML, and explores the performance gains of rounding operations in FHE. +- **Training & Inference**: Scripts provided to train the network and evaluate its performance. Also includes simulations in Concrete ML and insights into the performance enhancement using rounding. + +[Results & Metrics](cifar_brevitas_training/README.md#Accuracy_/and_/performance) + +### CIFAR-10 with a Split Clear/FHE Model + +- **Description**: An approach that splits the model into two parts: one running in clear and the other in FHE. By doing this, higher precision can be achieved in the input layer while still benefiting from FHE in subsequent layers. +- **Model Design**: Targets 8-bit accumulators for faster FHE inference. Pruning and 2-bit weights are used. +- **Implementation**: Detailed steps on how to run the model in FHE and the trade-offs involved in choosing the appropriate p_error value. + +[Results & Metrics](cifar_brevitas_with_model_splitting/README.md#results) + +## Installation + +All use-cases can be quickly set up with: + +```bash +pip install -r requirements.txt +``` + +## Further Reading & Resources + +- [Concrete ML Documentation](https://docs.zama.ai/concrete-ml/) +- [Brevitas Github Repository](https://github.com/Xilinx/brevitas) +- [Fully Homomorphic Encryption Basics](https://www.zama.ai/post/tfhe-deep-dive-part-1) +- [CIFAR Datasets Overview](https://www.cs.toronto.edu/~kriz/cifar.html) diff --git a/use_case_examples/cifar_brevitas_finetuning/.gitattributes b/use_case_examples/cifar/cifar_brevitas_finetuning/.gitattributes similarity index 100% rename from use_case_examples/cifar_brevitas_finetuning/.gitattributes rename to use_case_examples/cifar/cifar_brevitas_finetuning/.gitattributes diff --git a/use_case_examples/cifar_brevitas_finetuning/.gitignore b/use_case_examples/cifar/cifar_brevitas_finetuning/.gitignore similarity index 100% rename from use_case_examples/cifar_brevitas_finetuning/.gitignore rename to use_case_examples/cifar/cifar_brevitas_finetuning/.gitignore diff --git a/use_case_examples/cifar_brevitas_finetuning/CifarInFhe.ipynb b/use_case_examples/cifar/cifar_brevitas_finetuning/CifarInFhe.ipynb similarity index 100% rename from use_case_examples/cifar_brevitas_finetuning/CifarInFhe.ipynb rename to use_case_examples/cifar/cifar_brevitas_finetuning/CifarInFhe.ipynb diff --git a/use_case_examples/cifar_brevitas_finetuning/CifarInFheWithSmallerAccumulators.ipynb b/use_case_examples/cifar/cifar_brevitas_finetuning/CifarInFheWithSmallerAccumulators.ipynb similarity index 100% rename from use_case_examples/cifar_brevitas_finetuning/CifarInFheWithSmallerAccumulators.ipynb rename to use_case_examples/cifar/cifar_brevitas_finetuning/CifarInFheWithSmallerAccumulators.ipynb diff --git a/use_case_examples/cifar_brevitas_finetuning/CifarQuantizationAwareTraining.ipynb b/use_case_examples/cifar/cifar_brevitas_finetuning/CifarQuantizationAwareTraining.ipynb similarity index 100% rename from use_case_examples/cifar_brevitas_finetuning/CifarQuantizationAwareTraining.ipynb rename to use_case_examples/cifar/cifar_brevitas_finetuning/CifarQuantizationAwareTraining.ipynb diff --git a/use_case_examples/cifar_brevitas_finetuning/FromImageNetToCifar.ipynb b/use_case_examples/cifar/cifar_brevitas_finetuning/FromImageNetToCifar.ipynb similarity index 100% rename from use_case_examples/cifar_brevitas_finetuning/FromImageNetToCifar.ipynb rename to use_case_examples/cifar/cifar_brevitas_finetuning/FromImageNetToCifar.ipynb diff --git a/use_case_examples/cifar_brevitas_finetuning/Makefile b/use_case_examples/cifar/cifar_brevitas_finetuning/Makefile similarity index 100% rename from use_case_examples/cifar_brevitas_finetuning/Makefile rename to use_case_examples/cifar/cifar_brevitas_finetuning/Makefile diff --git a/use_case_examples/cifar_brevitas_finetuning/PerrorImpactOnFMNIST.ipynb b/use_case_examples/cifar/cifar_brevitas_finetuning/PerrorImpactOnFMNIST.ipynb similarity index 100% rename from use_case_examples/cifar_brevitas_finetuning/PerrorImpactOnFMNIST.ipynb rename to use_case_examples/cifar/cifar_brevitas_finetuning/PerrorImpactOnFMNIST.ipynb diff --git a/use_case_examples/cifar_brevitas_finetuning/README.md b/use_case_examples/cifar/cifar_brevitas_finetuning/README.md similarity index 100% rename from use_case_examples/cifar_brevitas_finetuning/README.md rename to use_case_examples/cifar/cifar_brevitas_finetuning/README.md diff --git a/use_case_examples/cifar_brevitas_finetuning/checkpoints/CIFAR_10/fp32/CIFAR_10_fp32_state_dict.pt b/use_case_examples/cifar/cifar_brevitas_finetuning/checkpoints/CIFAR_10/fp32/CIFAR_10_fp32_state_dict.pt similarity index 100% rename from use_case_examples/cifar_brevitas_finetuning/checkpoints/CIFAR_10/fp32/CIFAR_10_fp32_state_dict.pt rename to use_case_examples/cifar/cifar_brevitas_finetuning/checkpoints/CIFAR_10/fp32/CIFAR_10_fp32_state_dict.pt diff --git a/use_case_examples/cifar_brevitas_finetuning/checkpoints/CIFAR_10/fp32/CIFAR_10_history.pkl b/use_case_examples/cifar/cifar_brevitas_finetuning/checkpoints/CIFAR_10/fp32/CIFAR_10_history.pkl similarity index 100% rename from use_case_examples/cifar_brevitas_finetuning/checkpoints/CIFAR_10/fp32/CIFAR_10_history.pkl rename to use_case_examples/cifar/cifar_brevitas_finetuning/checkpoints/CIFAR_10/fp32/CIFAR_10_history.pkl diff --git a/use_case_examples/cifar_brevitas_finetuning/checkpoints/CIFAR_10/quant/CIFAR_10_history.pkl b/use_case_examples/cifar/cifar_brevitas_finetuning/checkpoints/CIFAR_10/quant/CIFAR_10_history.pkl similarity index 100% rename from use_case_examples/cifar_brevitas_finetuning/checkpoints/CIFAR_10/quant/CIFAR_10_history.pkl rename to use_case_examples/cifar/cifar_brevitas_finetuning/checkpoints/CIFAR_10/quant/CIFAR_10_history.pkl diff --git a/use_case_examples/cifar_brevitas_finetuning/checkpoints/CIFAR_10/quant/CIFAR_10_quant_state_dict.pt b/use_case_examples/cifar/cifar_brevitas_finetuning/checkpoints/CIFAR_10/quant/CIFAR_10_quant_state_dict.pt similarity index 100% rename from use_case_examples/cifar_brevitas_finetuning/checkpoints/CIFAR_10/quant/CIFAR_10_quant_state_dict.pt rename to use_case_examples/cifar/cifar_brevitas_finetuning/checkpoints/CIFAR_10/quant/CIFAR_10_quant_state_dict.pt diff --git a/use_case_examples/cifar_brevitas_finetuning/checkpoints/CIFAR_100/fp32/CIFAR_100_fp32_state_dict.pt b/use_case_examples/cifar/cifar_brevitas_finetuning/checkpoints/CIFAR_100/fp32/CIFAR_100_fp32_state_dict.pt similarity index 100% rename from use_case_examples/cifar_brevitas_finetuning/checkpoints/CIFAR_100/fp32/CIFAR_100_fp32_state_dict.pt rename to use_case_examples/cifar/cifar_brevitas_finetuning/checkpoints/CIFAR_100/fp32/CIFAR_100_fp32_state_dict.pt diff --git a/use_case_examples/cifar_brevitas_finetuning/checkpoints/CIFAR_100/fp32/CIFAR_100_history.pkl b/use_case_examples/cifar/cifar_brevitas_finetuning/checkpoints/CIFAR_100/fp32/CIFAR_100_history.pkl similarity index 100% rename from use_case_examples/cifar_brevitas_finetuning/checkpoints/CIFAR_100/fp32/CIFAR_100_history.pkl rename to use_case_examples/cifar/cifar_brevitas_finetuning/checkpoints/CIFAR_100/fp32/CIFAR_100_history.pkl diff --git a/use_case_examples/cifar_brevitas_finetuning/checkpoints/CIFAR_100/quant/CIFAR_100_history.pkl b/use_case_examples/cifar/cifar_brevitas_finetuning/checkpoints/CIFAR_100/quant/CIFAR_100_history.pkl similarity index 100% rename from use_case_examples/cifar_brevitas_finetuning/checkpoints/CIFAR_100/quant/CIFAR_100_history.pkl rename to use_case_examples/cifar/cifar_brevitas_finetuning/checkpoints/CIFAR_100/quant/CIFAR_100_history.pkl diff --git a/use_case_examples/cifar_brevitas_finetuning/checkpoints/CIFAR_100/quant/CIFAR_100_quant_state_dict.pt b/use_case_examples/cifar/cifar_brevitas_finetuning/checkpoints/CIFAR_100/quant/CIFAR_100_quant_state_dict.pt similarity index 100% rename from use_case_examples/cifar_brevitas_finetuning/checkpoints/CIFAR_100/quant/CIFAR_100_quant_state_dict.pt rename to use_case_examples/cifar/cifar_brevitas_finetuning/checkpoints/CIFAR_100/quant/CIFAR_100_quant_state_dict.pt diff --git a/use_case_examples/cifar_brevitas_finetuning/checkpoints/FashionMNIST/fp32/FashionMNIST_fp32_state_dict.pt b/use_case_examples/cifar/cifar_brevitas_finetuning/checkpoints/FashionMNIST/fp32/FashionMNIST_fp32_state_dict.pt similarity index 100% rename from use_case_examples/cifar_brevitas_finetuning/checkpoints/FashionMNIST/fp32/FashionMNIST_fp32_state_dict.pt rename to use_case_examples/cifar/cifar_brevitas_finetuning/checkpoints/FashionMNIST/fp32/FashionMNIST_fp32_state_dict.pt diff --git a/use_case_examples/cifar_brevitas_finetuning/checkpoints/FashionMNIST/quant/FashionMNIST_quant_state_dict.pt b/use_case_examples/cifar/cifar_brevitas_finetuning/checkpoints/FashionMNIST/quant/FashionMNIST_quant_state_dict.pt similarity index 100% rename from use_case_examples/cifar_brevitas_finetuning/checkpoints/FashionMNIST/quant/FashionMNIST_quant_state_dict.pt rename to use_case_examples/cifar/cifar_brevitas_finetuning/checkpoints/FashionMNIST/quant/FashionMNIST_quant_state_dict.pt diff --git a/use_case_examples/cifar_brevitas_finetuning/cifar_utils.py b/use_case_examples/cifar/cifar_brevitas_finetuning/cifar_utils.py similarity index 100% rename from use_case_examples/cifar_brevitas_finetuning/cifar_utils.py rename to use_case_examples/cifar/cifar_brevitas_finetuning/cifar_utils.py diff --git a/use_case_examples/cifar_brevitas_finetuning/models.py b/use_case_examples/cifar/cifar_brevitas_finetuning/models.py similarity index 100% rename from use_case_examples/cifar_brevitas_finetuning/models.py rename to use_case_examples/cifar/cifar_brevitas_finetuning/models.py diff --git a/use_case_examples/cifar_brevitas_finetuning/requirements.txt b/use_case_examples/cifar/cifar_brevitas_finetuning/requirements.txt similarity index 100% rename from use_case_examples/cifar_brevitas_finetuning/requirements.txt rename to use_case_examples/cifar/cifar_brevitas_finetuning/requirements.txt diff --git a/use_case_examples/cifar_brevitas_training/.gitignore b/use_case_examples/cifar/cifar_brevitas_training/.gitignore similarity index 100% rename from use_case_examples/cifar_brevitas_training/.gitignore rename to use_case_examples/cifar/cifar_brevitas_training/.gitignore diff --git a/use_case_examples/cifar_brevitas_training/Makefile b/use_case_examples/cifar/cifar_brevitas_training/Makefile similarity index 100% rename from use_case_examples/cifar_brevitas_training/Makefile rename to use_case_examples/cifar/cifar_brevitas_training/Makefile diff --git a/use_case_examples/cifar_brevitas_training/README.md b/use_case_examples/cifar/cifar_brevitas_training/README.md similarity index 100% rename from use_case_examples/cifar_brevitas_training/README.md rename to use_case_examples/cifar/cifar_brevitas_training/README.md diff --git a/use_case_examples/cifar_brevitas_training/bnn_pynq_train.py b/use_case_examples/cifar/cifar_brevitas_training/bnn_pynq_train.py similarity index 100% rename from use_case_examples/cifar_brevitas_training/bnn_pynq_train.py rename to use_case_examples/cifar/cifar_brevitas_training/bnn_pynq_train.py diff --git a/use_case_examples/cifar_brevitas_training/evaluate_one_example_fhe.py b/use_case_examples/cifar/cifar_brevitas_training/evaluate_one_example_fhe.py similarity index 100% rename from use_case_examples/cifar_brevitas_training/evaluate_one_example_fhe.py rename to use_case_examples/cifar/cifar_brevitas_training/evaluate_one_example_fhe.py diff --git a/use_case_examples/cifar_brevitas_training/evaluate_torch_cml.py b/use_case_examples/cifar/cifar_brevitas_training/evaluate_torch_cml.py similarity index 100% rename from use_case_examples/cifar_brevitas_training/evaluate_torch_cml.py rename to use_case_examples/cifar/cifar_brevitas_training/evaluate_torch_cml.py diff --git a/use_case_examples/cifar_brevitas_training/experiments/CNV_2W2A_2W2A_20221114_131345/checkpoints/best.tar b/use_case_examples/cifar/cifar_brevitas_training/experiments/CNV_2W2A_2W2A_20221114_131345/checkpoints/best.tar similarity index 100% rename from use_case_examples/cifar_brevitas_training/experiments/CNV_2W2A_2W2A_20221114_131345/checkpoints/best.tar rename to use_case_examples/cifar/cifar_brevitas_training/experiments/CNV_2W2A_2W2A_20221114_131345/checkpoints/best.tar diff --git a/use_case_examples/cifar_brevitas_training/experiments/CNV_2W2A_2W2A_20221114_131345/checkpoints/checkpoint.tar b/use_case_examples/cifar/cifar_brevitas_training/experiments/CNV_2W2A_2W2A_20221114_131345/checkpoints/checkpoint.tar similarity index 100% rename from use_case_examples/cifar_brevitas_training/experiments/CNV_2W2A_2W2A_20221114_131345/checkpoints/checkpoint.tar rename to use_case_examples/cifar/cifar_brevitas_training/experiments/CNV_2W2A_2W2A_20221114_131345/checkpoints/checkpoint.tar diff --git a/use_case_examples/cifar_brevitas_training/experiments/CNV_2W2A_2W2A_20221114_131345/log.txt b/use_case_examples/cifar/cifar_brevitas_training/experiments/CNV_2W2A_2W2A_20221114_131345/log.txt similarity index 100% rename from use_case_examples/cifar_brevitas_training/experiments/CNV_2W2A_2W2A_20221114_131345/log.txt rename to use_case_examples/cifar/cifar_brevitas_training/experiments/CNV_2W2A_2W2A_20221114_131345/log.txt diff --git a/use_case_examples/cifar_brevitas_training/logger.py b/use_case_examples/cifar/cifar_brevitas_training/logger.py similarity index 100% rename from use_case_examples/cifar_brevitas_training/logger.py rename to use_case_examples/cifar/cifar_brevitas_training/logger.py diff --git a/use_case_examples/cifar_brevitas_training/models/__init__.py b/use_case_examples/cifar/cifar_brevitas_training/models/__init__.py similarity index 100% rename from use_case_examples/cifar_brevitas_training/models/__init__.py rename to use_case_examples/cifar/cifar_brevitas_training/models/__init__.py diff --git a/use_case_examples/cifar_brevitas_training/models/cnv_2w2a.ini b/use_case_examples/cifar/cifar_brevitas_training/models/cnv_2w2a.ini similarity index 100% rename from use_case_examples/cifar_brevitas_training/models/cnv_2w2a.ini rename to use_case_examples/cifar/cifar_brevitas_training/models/cnv_2w2a.ini diff --git a/use_case_examples/cifar_brevitas_training/models/common.py b/use_case_examples/cifar/cifar_brevitas_training/models/common.py similarity index 100% rename from use_case_examples/cifar_brevitas_training/models/common.py rename to use_case_examples/cifar/cifar_brevitas_training/models/common.py diff --git a/use_case_examples/cifar_brevitas_training/models/model.py b/use_case_examples/cifar/cifar_brevitas_training/models/model.py similarity index 100% rename from use_case_examples/cifar_brevitas_training/models/model.py rename to use_case_examples/cifar/cifar_brevitas_training/models/model.py diff --git a/use_case_examples/cifar_brevitas_training/models/tensor_norm.py b/use_case_examples/cifar/cifar_brevitas_training/models/tensor_norm.py similarity index 100% rename from use_case_examples/cifar_brevitas_training/models/tensor_norm.py rename to use_case_examples/cifar/cifar_brevitas_training/models/tensor_norm.py diff --git a/use_case_examples/cifar_brevitas_training/requirements.txt b/use_case_examples/cifar/cifar_brevitas_training/requirements.txt similarity index 100% rename from use_case_examples/cifar_brevitas_training/requirements.txt rename to use_case_examples/cifar/cifar_brevitas_training/requirements.txt diff --git a/use_case_examples/cifar_brevitas_training/trainer.py b/use_case_examples/cifar/cifar_brevitas_training/trainer.py similarity index 100% rename from use_case_examples/cifar_brevitas_training/trainer.py rename to use_case_examples/cifar/cifar_brevitas_training/trainer.py diff --git a/use_case_examples/cifar_brevitas_with_model_splitting/8_bit_model.pt b/use_case_examples/cifar/cifar_brevitas_with_model_splitting/8_bit_model.pt similarity index 100% rename from use_case_examples/cifar_brevitas_with_model_splitting/8_bit_model.pt rename to use_case_examples/cifar/cifar_brevitas_with_model_splitting/8_bit_model.pt diff --git a/use_case_examples/cifar_brevitas_with_model_splitting/Cifar10.ipynb b/use_case_examples/cifar/cifar_brevitas_with_model_splitting/Cifar10.ipynb similarity index 100% rename from use_case_examples/cifar_brevitas_with_model_splitting/Cifar10.ipynb rename to use_case_examples/cifar/cifar_brevitas_with_model_splitting/Cifar10.ipynb diff --git a/use_case_examples/cifar_brevitas_with_model_splitting/Makefile b/use_case_examples/cifar/cifar_brevitas_with_model_splitting/Makefile similarity index 100% rename from use_case_examples/cifar_brevitas_with_model_splitting/Makefile rename to use_case_examples/cifar/cifar_brevitas_with_model_splitting/Makefile diff --git a/use_case_examples/cifar_brevitas_with_model_splitting/README.md b/use_case_examples/cifar/cifar_brevitas_with_model_splitting/README.md similarity index 100% rename from use_case_examples/cifar_brevitas_with_model_splitting/README.md rename to use_case_examples/cifar/cifar_brevitas_with_model_splitting/README.md diff --git a/use_case_examples/cifar_brevitas_with_model_splitting/brevitas_utils.py b/use_case_examples/cifar/cifar_brevitas_with_model_splitting/brevitas_utils.py similarity index 100% rename from use_case_examples/cifar_brevitas_with_model_splitting/brevitas_utils.py rename to use_case_examples/cifar/cifar_brevitas_with_model_splitting/brevitas_utils.py diff --git a/use_case_examples/cifar_brevitas_with_model_splitting/clear_module.pt b/use_case_examples/cifar/cifar_brevitas_with_model_splitting/clear_module.pt similarity index 100% rename from use_case_examples/cifar_brevitas_with_model_splitting/clear_module.pt rename to use_case_examples/cifar/cifar_brevitas_with_model_splitting/clear_module.pt diff --git a/use_case_examples/cifar_brevitas_with_model_splitting/clear_module.py b/use_case_examples/cifar/cifar_brevitas_with_model_splitting/clear_module.py similarity index 100% rename from use_case_examples/cifar_brevitas_with_model_splitting/clear_module.py rename to use_case_examples/cifar/cifar_brevitas_with_model_splitting/clear_module.py diff --git a/use_case_examples/cifar_brevitas_with_model_splitting/constants.py b/use_case_examples/cifar/cifar_brevitas_with_model_splitting/constants.py similarity index 100% rename from use_case_examples/cifar_brevitas_with_model_splitting/constants.py rename to use_case_examples/cifar/cifar_brevitas_with_model_splitting/constants.py diff --git a/use_case_examples/cifar_brevitas_with_model_splitting/encrypted_module.pt b/use_case_examples/cifar/cifar_brevitas_with_model_splitting/encrypted_module.pt similarity index 100% rename from use_case_examples/cifar_brevitas_with_model_splitting/encrypted_module.pt rename to use_case_examples/cifar/cifar_brevitas_with_model_splitting/encrypted_module.pt diff --git a/use_case_examples/cifar_brevitas_with_model_splitting/encrypted_module.py b/use_case_examples/cifar/cifar_brevitas_with_model_splitting/encrypted_module.py similarity index 100% rename from use_case_examples/cifar_brevitas_with_model_splitting/encrypted_module.py rename to use_case_examples/cifar/cifar_brevitas_with_model_splitting/encrypted_module.py diff --git a/use_case_examples/cifar_brevitas_with_model_splitting/infer_fhe.py b/use_case_examples/cifar/cifar_brevitas_with_model_splitting/infer_fhe.py similarity index 100% rename from use_case_examples/cifar_brevitas_with_model_splitting/infer_fhe.py rename to use_case_examples/cifar/cifar_brevitas_with_model_splitting/infer_fhe.py diff --git a/use_case_examples/cifar_brevitas_with_model_splitting/infer_fhe_simulation.py b/use_case_examples/cifar/cifar_brevitas_with_model_splitting/infer_fhe_simulation.py similarity index 100% rename from use_case_examples/cifar_brevitas_with_model_splitting/infer_fhe_simulation.py rename to use_case_examples/cifar/cifar_brevitas_with_model_splitting/infer_fhe_simulation.py diff --git a/use_case_examples/cifar_brevitas_with_model_splitting/infer_torch.py b/use_case_examples/cifar/cifar_brevitas_with_model_splitting/infer_torch.py similarity index 100% rename from use_case_examples/cifar_brevitas_with_model_splitting/infer_torch.py rename to use_case_examples/cifar/cifar_brevitas_with_model_splitting/infer_torch.py diff --git a/use_case_examples/cifar_brevitas_with_model_splitting/model.py b/use_case_examples/cifar/cifar_brevitas_with_model_splitting/model.py similarity index 100% rename from use_case_examples/cifar_brevitas_with_model_splitting/model.py rename to use_case_examples/cifar/cifar_brevitas_with_model_splitting/model.py diff --git a/use_case_examples/cifar_brevitas_with_model_splitting/p_error_search.py b/use_case_examples/cifar/cifar_brevitas_with_model_splitting/p_error_search.py similarity index 100% rename from use_case_examples/cifar_brevitas_with_model_splitting/p_error_search.py rename to use_case_examples/cifar/cifar_brevitas_with_model_splitting/p_error_search.py diff --git a/use_case_examples/cifar_brevitas_with_model_splitting/requirements.txt b/use_case_examples/cifar/cifar_brevitas_with_model_splitting/requirements.txt similarity index 100% rename from use_case_examples/cifar_brevitas_with_model_splitting/requirements.txt rename to use_case_examples/cifar/cifar_brevitas_with_model_splitting/requirements.txt diff --git a/use_case_examples/cifar_brevitas_with_model_splitting/split_model.py b/use_case_examples/cifar/cifar_brevitas_with_model_splitting/split_model.py similarity index 100% rename from use_case_examples/cifar_brevitas_with_model_splitting/split_model.py rename to use_case_examples/cifar/cifar_brevitas_with_model_splitting/split_model.py