loglens-learnability / REPLICATION_KIT.md
resoajoe's picture
Upload folder using huggingface_hub
021d920 verified
|
Raw
History Blame Contribute Delete
2.8 kB
# Replication kit — second rig (Windows OK)
Goal: an INDEPENDENT machine + scene + operator reproduces (or kills) the
learnability law AND its mechanism. No cameras required for the core replication.
## TURNKEY (one command) — do this first
```
pip install torch numpy opencv-python scipy
# copy from this repo: paper2/replicate.py, simreal/train_composite.py, triclock/
python replicate.py --bank <folder-of-~1000-photos-of-any-room | scene.npy> --full --seeds 3
```
It builds a 64px bank from your photos, computes R + feat-R, trains a size grid
blind, and prints a PASS/FAIL scorecard for P1 (R<->feat-R), P2 (the LAW), and
P3 (ignition). Compare to EXPECTED_RESULTS.md; send back results_replicate.json.
CPU works (slower: use default 8k-step quick mode first to sanity-check, then
--full). CUDA auto-detected. Everything below is the manual/long-form protocol.
**Read EXPECTED_RESULTS.md for the PASS bars and the caveats that will bite you**
(the wall is seed-bimodal and slow — always multi-seed and train long; collapse =
loss==log 4; compare ORDERING across scenes, never absolute thresholds).
## Setup (Windows or Linux, ~30 min)
1. Python 3.10+, then: pip install torch numpy opencv-python
(CUDA build of torch if the PC has a GPU: pytorch.org selector.
CPU-only works: one condition ≈ 2-4h instead of 35 min.)
2. Copy from this tree: simreal/train_composite.py, triclock/ (model.py,
__init__.py). Nothing else needed for the core test.
3. Background bank: DO NOT copy ours (independence!). Either:
(a) film ~2h of any static-camera scene at 1fps (script below), or
(b) any folder of ~5000 varied photos of one room.
Build: python make_bank.py <folder> -> frames64.npy/ts64.npy
(make_bank.py = 15 lines: resize each to 64x64, stack, save; included.)
## Protocol (the part that makes it science)
1. CALIBRATE: train exactly TWO conditions on the new scene:
static-bg 6px and static-bg 14px (20K steps, seed 0).
2. PREDICT: compute R for 8 fresh conditions (sizes 5,8,10,12 x static/moving)
with compute_R.py (included); WRITE PREDICTIONS TO A FILE + note the time.
3. TRAIN the 8 blind. 4. Score Spearman(R, outcome).
Law survives if rho > 0.9 on the new scene. Kill-criteria welcome.
5. Optional round 2: the low-contrast falsification (contrast 0.4 at a size
that learned) and the gate (NOISE_BLUR sweep).
## Windows notes
- Paths: the scripts use relative paths; run from the repo root.
- No bash needed: each run is one python command; a .bat loop is fine.
- If filming: python jetson/capture.py --out bank_scene --fps 1 works with
any webcam via OpenCV on Windows (device 0).
## What to send back
The predictions file (pre-training), the results JSONs, and the scene bank
hash. Disagreement with our numbers is a RESULT, not a failure.