INNER CODE UNIT · Python
selected
Tisha-runwal/Personalized-Federated-Learning-for-Privacy--Preserving-and-Scalable-IoT-Driven-Smart-Healthcare · pfl_hcare/fl/server.py:387
selected = forced + [candidates[i] for i in sampled_idx]
else:
selected = forced[:n_select] if len(forced) > n_select else forced
# Ensure at least 2 clients
if len(selected) < 2:
remaining = [c for c in range(num_clients) if c not in selected]
while len(selected) < min(2, num_clients) and remaining:
selected.append(remaining.pop(0))
return selected
def _record_round_metrics(
mc, rnd, method, num_clients, selected_ids, fit_results,
prev_acc, prev_loss, per_client_acc, quantizer, secure_agg, dp_accountant,
):
"""Record metrics when aggregation is skipped (NaN fallback)."""