Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
316 changes: 173 additions & 143 deletions README.md

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions assets/banner.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
23 changes: 10 additions & 13 deletions assets/demo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
13 changes: 13 additions & 0 deletions docs/evidence/CUDA_EVIDENCE.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
# Bounded CUDA evidence run — 2026-07-22

> **Erratum (2026-07-22, [#6](https://github.com/sohams25/earlyon/issues/6)).**
> The "estimated backbone FLOPs fraction" figures in this run come from the
> *low-confidence uniform fallback*, not the fvcore attribution: the reuse
> detector false-positives on torchvision ResNet's shared in-block (zero-FLOP)
> ReLU modules, so `resnet18_ee` was assigned uniform per-exit fractions
> (0.333/0.667) with `FlopsEstimate.reliable=False` and a RuntimeWarning.
> Under fvcore leaf-walk attribution the per-exit fractions are 0.547/0.774
> and the run's average estimated fraction is **0.918, not the 0.880 recorded
> below** — i.e. the run saved roughly **8%** of estimated backbone compute,
> not 12%. Accuracy, latency, throughput and exit-distribution numbers are
> measurements and are unaffected. Raw JSON is preserved as recorded, with an
> `erratum` field appended.

Machine-readable source: [`cuda_evidence.json`](cuda_evidence.json).
Reproduce: `python scripts/evidence_run.py` (seed 42; ~10 min compute on the
hardware below after the CIFAR-10 download).
Expand Down
9 changes: 9 additions & 0 deletions docs/evidence/cuda_evidence.json
Original file line number Diff line number Diff line change
Expand Up @@ -259,5 +259,14 @@
"gpu": "NVIDIA GeForce RTX 4050 Laptop GPU",
"earlyon": "0.2.0",
"os": "Linux-6.8.0-106-generic-x86_64-with-glibc2.35"
},
"erratum_2026_07_22": {
"issue": "https://github.com/sohams25/earlyon/issues/6",
"affected_fields": [
"test.early_exit_estimated_flops_fraction",
"benchmark_real_input.*.avg_estimated_flops_fraction",
"benchmark_noise_input.*.avg_estimated_flops_fraction"
],
"note": "estimated FLOPs fractions in this run derive from the low-confidence uniform fallback (reuse detector false-positive on torchvision ResNet's zero-FLOP shared in-block ReLU; FlopsEstimate.reliable=False). Under fvcore leaf-walk attribution the per-exit fractions are layer2=0.5474, layer3=0.7736 and the test-set average estimated fraction is 0.918 instead of the recorded 0.880 (~8% estimated saving, not 12%). Measured accuracy/latency/throughput/exit-distribution values are unaffected. Original recorded fields left unmodified."
}
}
6 changes: 5 additions & 1 deletion docs/marketing/earlyon-reddit.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
> NOTE (v0.3.0): this is archived v0.2-era launch copy. The numbers below
> predate the v0.3 fair benchmark runner and are superseded by
> docs/evidence/CUDA_EVIDENCE.md; do not reuse them.

# r/MachineLearning launch draft

Flair: [P] (Project). Post as text, not a link post; r/ML buries bare links.
Expand Down Expand Up @@ -34,7 +38,7 @@ model = resnet50_ee(num_classes=10, pretrained=True).eval()
result = model(x, mode="inference")

result.exit_taken # which head fired (-1 = full network)
result.computation_used # fraction of FLOPs actually run
result.estimated_backbone_flops_fraction # estimated fraction of backbone FLOPs (not measured latency)
result.confidence # how sure it was when it left
```

Expand Down
Loading