summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--experiments/plot_main_figures.py20
1 files changed, 16 insertions, 4 deletions
diff --git a/experiments/plot_main_figures.py b/experiments/plot_main_figures.py
index c459e36..9f719d9 100644
--- a/experiments/plot_main_figures.py
+++ b/experiments/plot_main_figures.py
@@ -396,6 +396,11 @@ def plot_tradeoff(root, outdir, strict):
rows = sg.get((name, depth), [])
if not rows:
continue
+ ax.scatter(
+ [r["final"]["wall_s"] for r in rows],
+ [100 * r["final"]["test_acc"] for r in rows],
+ marker=MARKERS[name], s=12, color=COLORS[name], alpha=0.18,
+ linewidths=0, zorder=1)
acc, acc_sd = mean_sd([100 * r["final"]["test_acc"] for r in rows])
wall, wall_sd = mean_sd([r["final"]["wall_s"] for r in rows])
error_point(ax, wall, acc, wall_sd, acc_sd, name,
@@ -430,10 +435,16 @@ def plot_tradeoff(root, outdir, strict):
rows = ep.get((name, depth), [])
if not rows:
continue
+ point_marker = "D" if depth == 1 else "o"
+ ax.scatter(
+ [r["final"]["wall_s"] for r in rows],
+ [100 * r["final"]["test_acc"] for r in rows],
+ marker=point_marker, s=14, color=COLORS[name], alpha=0.22,
+ linewidths=0, zorder=1)
acc, acc_sd = mean_sd([100 * r["final"]["test_acc"] for r in rows])
wall, wall_sd = mean_sd([r["final"]["wall_s"] for r in rows])
error_point(ax, wall, acc, wall_sd, acc_sd, name,
- marker="D" if depth == 1 else "o",
+ marker=point_marker,
label=f"{name}, d{depth}")
xs.append(wall); ys.append(acc)
if len(xs) == 2:
@@ -552,9 +563,10 @@ def figure_captions(preview):
prefix = "**PREVIEW — incomplete cells remain.**\n\n" if preview else ""
return prefix + """# Main figure captions
-**Figure 1 | Accuracy–cost trade-offs for local learning.** Points and error bars show mean ±
-sample standard deviation across five initialization seeds; wall time was measured on a single
-GTX 1080. **a,** CIFAR-10 test accuracy versus wall time for width-64 residual MLPs trained for
+**Figure 1 | Accuracy–cost trade-offs for local learning.** Large points and error bars show mean ±
+sample standard deviation across five initialization seeds; small translucent points show the
+individual seeds. Wall time was measured on a single GTX 1080. **a,** CIFAR-10 test accuracy versus
+wall time for width-64 residual MLPs trained for
five epochs. The black line is the mean-based nondominated frontier among local-learning methods.
BP is a nonlocal reference and is excluded from frontier construction. Labels give hidden depth.
**b,** SDIL versus canonical equilibrium propagation (EP) on exact 784–500–10 (d1) and