INNER CODE UNIT · Python
run_simulation
Tisha-runwal/Personalized-Federated-Learning-for-Privacy--Preserving-and-Scalable-IoT-Driven-Smart-Healthcare · pfl_hcare/fl/server.py:49
def run_simulation(
config: dict,
method: str,
metrics_collector: MetricsCollector,
) -> dict:
"""Run FL simulation locally with all paper components wired in.
Pipeline per round:
1. Adaptive client selection (Eq.9) — for pfl_hcare
2. Local training (MAML Eq.3-4 for per_fedavg/pfl_hcare, standard for others)
3. DP noise injection (Eq.5) — for pfl_hcare (done client-side)
4. Gradient quantization (Eq.8) — for pfl_hcare
5. Simulated secure aggregation (Eq.6-7) — for pfl_hcare
6. Weighted FedAvg aggregation (Eq.1)
7. Per-round evaluation + metrics recording
"""
from data.partition import DirichletPartitioner
from pfl_hcare.fl.client import PFLClient