This repository provides a modular implementation of Federated Learning (FL), Split Learning (SL), and Federated Split Vision Transformers with Block Sampling (FeSViBS) applied to medical imaging datasets like HAM10000 and BloodMNIST.
This project re-implements and simplifies the FeSViBS architecture from MICCAI 2023, using:
- Split learning with client-specific ViT heads and MLP tails
- Federated aggregation of split model parts
- IID and non-IID data distribution strategies
- Support for Differential Privacy (optional)
| Method | Notebook/Script | Description |
|---|---|---|
| Centralized | centralized.ipynb |
Vanilla training using full dataset |
| Local FL | local.py |
Independent client training without parameter sharing |
| SLViT | SLViT.ipynb, |
Split ViT training with shared backbone |
| SViBS | FeSViBS_Notebook.ipynb |
SLViT with block sampling |
| FeSViBS | FeSViBS_Notebook.ipynb |
Federated + Split ViT with block sampling |
| Data Split | organise_ham_clients.py |
Prepares HAM10000 data for 6-client federated setup |
-
HAM10000
Pigmented skin lesion dataset
📥 Kaggle Link -
BloodMNIST
Blood cell images from the MedMNIST collection
📦 Loaded viamedmnist