INNER CODE UNIT · Python

avg_loss

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

        avg_loss = sum(r[0] * r[1] for r in eval_results) / total_eval if total_eval > 0 else 0.0
        avg_acc = sum(r[2].get("accuracy", 0.0) * r[1] for r in eval_results) / total_eval if total_eval > 0 else 0.0
        per_client_acc = [r[2].get("accuracy", 0.0) for r in eval_results]

        # ---------------------------------------------------------------
        # Step 8: Record comprehensive metrics
        # ---------------------------------------------------------------
        grad_norms = [r[3].get("grad_norm", 0.0) for r in fit_results]
        avg_grad_norm = np.nanmean(grad_norms) if grad_norms else 0.0

        epsilon_spent = dp_accountant.get_epsilon() if dp_accountant else 0.0

        metrics_collector.record_round(
            round_num=rnd,
            method=method,
            global_accuracy=avg_acc,
            global_loss=avg_loss,
            num_clients=len(selected_ids),

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…