Views
No views yet
runs/)| metric (COCO val 5k) | final (E55) | best |
|---|---|---|
| multi-label mAP | 0.488 | 0.500 |
| F1 | 0.492 | 0.498 |
| R@1 (image → own consensus target) | 0.420 | 0.431 |
| cos to consensus target | 0.650 | 0.663 |
| active anchors | 94 / 256 | — |
| val CV | ~0.12 | — |
1import torch
2from PIL import Image
3from transformers import AutoModel
4from torchvision import transforms
5
6model = AutoModel.from_pretrained(
7 "AbstractPhil/geolip-vit-large-x3", trust_remote_code=True).eval()
8
9tf = transforms.Compose([
10 transforms.Resize((224, 224)), # squash resize — the training geometry
11 transforms.ToTensor(),
12 transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]),
13])
14px = tf(Image.open("cat.jpg").convert("RGB")).unsqueeze(0)
15with torch.no_grad():
16 out = model(px)
17
18out.embedding # (1, 128) unit vector in the 3-expert consensus space
19out.logits # (1, 80) multi-label COCO logits
20out.triangulation # (1, 256) 1 - cos to the constellation anchors
21out.nearest # (1,) nearest anchor idmodeling_geolip_vit.py fixed: the original file's
module names did not match the released checkpoint (encoder.layers.* vs
layers.*) and included an untrained geometric-injection path, so
AutoModel silently returned a mostly-random model. The revision loads
with zero missing / zero unexpected keys and bit-reproduces the faithful
manual load (max embedding diff 4.5e-7); the same fix was applied to
base-x3. Output is now a proper transformers.ModelOutput; diagnostics
are opt-in via compute_diagnostics=True.