INNER CODE UNIT · Python

_adaptive_select

Tisha-runwal/Personalized-Federated-Learning-for-Privacy--Preserving-and-Scalable-IoT-Driven-Smart-Healthcare · pfl_hcare/fl/server.py:351

def _adaptive_select(
    num_clients: int,
    n_select: int,
    gradient_norms: dict[int, float],
    last_participation: dict[int, int],
    current_round: int,
    min_interval: int,
    seed: int,
) -> list[int]:
    """Adaptive client selection based on gradient norms (Eq.9).

    p_i = ||grad_i|| / sum(||grad_j||)
    Clients with larger gradient change participate more often.
    Clients that haven't participated recently are force-included.
    """
    rng = np.random.RandomState(seed)

    # Force-include clients that haven't participated recently

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…