diff options
Diffstat (limited to 'experiments/coupled_ladder_scaling.py')
| -rw-r--r-- | experiments/coupled_ladder_scaling.py | 34 |
1 files changed, 28 insertions, 6 deletions
diff --git a/experiments/coupled_ladder_scaling.py b/experiments/coupled_ladder_scaling.py index ce3509a..7c50e2d 100644 --- a/experiments/coupled_ladder_scaling.py +++ b/experiments/coupled_ladder_scaling.py @@ -160,10 +160,16 @@ def run_job(job: dict) -> dict: "failure_message": str(error), "classification_error": 1.0, "hinge_loss_v2": None, - "reached_zero_error": False, - "restricted_epochs_to_zero_error": job["epochs"], - "restricted_updates_to_zero_error": ( + "reached_stable_zero_error": False, + "restricted_epochs_to_stable_zero_error": job["epochs"], + "restricted_updates_to_stable_zero_error": ( job["epochs"] * len(dataset.labels_v)), + "restricted_edge_updates_to_stable_zero_error": ( + job["epochs"] * len(dataset.labels_v) + * circuit.edge_count), + "restricted_learning_time_to_stable_zero_seconds": ( + job["epochs"] * len(dataset.labels_v) + * job["learning_time_seconds"]), "classification_error_auc": 1.0, "local_updates": None, "neutral_observations": None, @@ -201,10 +207,27 @@ def summarize(records: list[dict], methods: tuple[str, ...]) -> dict: "mean_classification_error_auc": float(np.mean([ value["classification_error_auc"] for value in values ])), - "mean_restricted_epochs_to_zero_error": float(np.mean([ - value["restricted_epochs_to_zero_error"] + "stable_zero_error_fraction": float(np.mean([ + value["reached_stable_zero_error"] for value in values + ])), + "mean_restricted_epochs_to_stable_zero_error": float(np.mean([ + value["restricted_epochs_to_stable_zero_error"] for value in values ])), + "mean_restricted_edge_updates_to_stable_zero_error": ( + float(np.mean([ + value[ + "restricted_edge_updates_to_stable_zero_error" + ] for value in values + ])) + ), + "mean_restricted_learning_time_to_stable_zero_seconds": ( + float(np.mean([ + value[ + "restricted_learning_time_to_stable_zero_seconds" + ] for value in values + ])) + ), "median_wall_seconds": float(np.median([ value["wall_seconds"] for value in values ])), @@ -338,4 +361,3 @@ def main() -> None: if __name__ == "__main__": main() - |
