This repository contains the implementation of a federated learning framework for Chest X-ray classification under non-IID and drifting client environments. The system simulates five federated clients using Dirichlet-based data partitioning (α = 0.3) and introduces controlled distributional drift during training.
The framework implements three optimization strategies: FedAvg, FedProx, and FedBN, using a ResNet-18 backbone initialized with ImageNet weights. Training is conducted over 25 communication rounds with local client updates aggregated via weighted averaging.
The code logs global and client-wise performance metrics (Accuracy, Precision, Recall, Specificity, F1-score, IoU, AUC), performs paired statistical testing across five independent runs, and computes drift quantification metrics including L2 divergence and cosine similarity.
All tables and figures presented in the manuscript are reproducible from this notebook. Dataset link : https://www.kaggle.com/datasets/paultimothymooney/chest-xray-pneumonia