Status: Architecture-Driven Reference Implementation (End-to-End Simulation)
- Pranav Gupta (22JE0710)
- Saransh Shivhare (22JE0867)
- Ayush Shaw (22JE0221)
Under the guidance of:
Prof. Prasanta K. Jana
Department of Computer Science and Engineering
Indian Institute of Technology (ISM) Dhanbad
This repository contains a reproducible research prototype for Progressive Split-Federated Learning (HSFL) across an IoT–Fog–Cloud hierarchy.
The goal is to provide:
- A clear system architecture
- A reference implementation (prototype)
- A small-scale simulation validating dataflow and communication overhead
⚠️ This is a research repository, not a production deployment.
It is designed for reproducibility, experimentation, and extension.
- Architecture-first design: Explicit separation of IoT, Fog, and Cloud layers
- Reproducible prototype: Run locally using CIFAR-10 or random tensors
- Experiment artifacts: Logs and plots generated automatically
- Honest scope: Pipeline validation, not full-scale convergence
Tested on Windows (PowerShell) and Linux/macOS with Python 3.10+.
git clone https://github.com/saranshs17/hybrid-SplitNN-FL.git
cd hybrid-SplitNN-FLWindows (PowerShell)
python -m venv .venv
.\.venv\Scripts\Activate.ps1Linux / macOS
python3 -m venv .venv
source .venv/bin/activatepython -m pip install --upgrade pip
pip install -r requirements.txtrequirements.txt includes PyTorch, matplotlib, pytest, PyYAML, and torchvision.
python -m src.sim.run_simulation --config configs/experiment.yaml- If
dataset: cifar10→ CIFAR-10 will be downloaded (requires torchvision) - For fast offline runs, set
dataset: random
Outputs (saved to results/):
results/log.txtresults/loss_curve.pngresults/bytes_per_batch.png
pytest -qRun a specific test:
pytest tests/test_protocol.py::test_run_round_smoke -q -sThe following results are from a CIFAR-10 experiment (one batch per epoch) to validate architectural correctness.
Loss per step
Approximate communication per batch
Loss fluctuations are expected due to the small dataset subset and limited steps.
- Perform lightweight feature extraction
- Generate smashed activations
- Receive activations
- Perform regional feature computation
- Final inference and parameter updates
- Full cross-device SplitNN backpropagation is planned as future work
docs/Project_Report.pdf— thesis (architecture & analysis)docs/Architecture_Slides.pdf— Presentation slides
- Implement full SplitNN backpropagation
- Add secure aggregation & compression
- Scale experiments using Flower / FedML
- Multi-host IoT–Fog–Cloud deployment
This project is licensed under the MIT License.
See the LICENSE file for details.
Saransh Shivhare
saranshmain17@gmail.com



