coolnow commited on
Commit
cd5d868
·
verified ·
1 Parent(s): 93edbc9

Clean retrain checkpoint (used by the shortlist test); strict loading; card fixes

Browse files
Files changed (3) hide show
  1. README.md +2 -2
  2. clean_r3/pointer_clean_r3.pt +3 -0
  3. milo_pointer.py +1 -1
README.md CHANGED
@@ -16,10 +16,10 @@ Paper: *A 149M Text Encoder as the First Tier for Phone Agents: Pre-Registered R
16
  - **What did not work is documented too.** About 40 registered experiments, negative ones included, with timestamps
17
  (`paper/PREREGISTRATION.md`).
18
 
19
- All Claude API calls behind the AndroidControl results cost **$89.73** in total (Batch prices); each training run takes about
20
  **6.4 hours on one NVIDIA T4**.
21
 
22
- ![Cost and accuracy on 1,000 held-out steps; routing curves](fig_router.png)
23
 
24
  Demo: the model drives a Pixel 6a through a five-step Clock task ("set a 5 minute timer"), every step answered locally
25
  ([video](https://huggingface.co/coolnow/milo-pointer/resolve/main/milo_demo_clean.mp4)).
 
16
  - **What did not work is documented too.** About 40 registered experiments, negative ones included, with timestamps
17
  (`paper/PREREGISTRATION.md`).
18
 
19
+ All Claude API calls behind the AndroidControl results cost **$86.75** in total (Batch prices); each training run takes about
20
  **6.4 hours on one NVIDIA T4**.
21
 
22
+ ![Cost and accuracy on 1,000 held-out steps; routing curves](https://huggingface.co/coolnow/milo-pointer/resolve/main/fig_router.png)
23
 
24
  Demo: the model drives a Pixel 6a through a five-step Clock task ("set a 5 minute timer"), every step answered locally
25
  ([video](https://huggingface.co/coolnow/milo-pointer/resolve/main/milo_demo_clean.mp4)).
clean_r3/pointer_clean_r3.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5a5a2d7c9801e7db4d2ff24321af24eb1a88a5dd414dca9f927346a6ef2f442b
3
+ size 596158793
milo_pointer.py CHANGED
@@ -96,7 +96,7 @@ class MiloPointer:
96
  cfg = AutoConfig.from_pretrained(p if (p / "config.json").exists() else BASE)
97
  net = _Net(cfg)
98
  net.load_state_dict(
99
- {k: v.float() for k, v in load_file(str(p / "model.safetensors")).items()}, strict=False
100
  )
101
  net = net.to(device).eval()
102
  if device != "cpu":
 
96
  cfg = AutoConfig.from_pretrained(p if (p / "config.json").exists() else BASE)
97
  net = _Net(cfg)
98
  net.load_state_dict(
99
+ {k: v.float() for k, v in load_file(str(p / "model.safetensors")).items()}, strict=True
100
  )
101
  net = net.to(device).eval()
102
  if device != "cpu":