Skip to content

Repository files navigation

Federated Learning with Vision Transformers on Medical Images

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.


Overview

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)

Methods Implemented

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

Datasets Used

  1. HAM10000
    Pigmented skin lesion dataset
    📥 Kaggle Link

  2. BloodMNIST
    Blood cell images from the MedMNIST collection
    📦 Loaded via medmnist


About

FeSViBS is a novel framework that combines Split Learning and Federated Learning using a Vision Transformer (ViT) backbone. It introduces a block sampling strategy that enables efficient distributed training across clients while preserving data privacy and reducing communication overhead.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages