Views
No views yet
| Property | Value |
|---|---|
| Architecture | MobileViT-XXS + linear projection |
| Input | 448×448 RGB, ImageNet-normalised |
| Output | 128-d L2-normalised embedding vector |
| Parameters | ~1.0M |
| File size | 5.2 MB (fp32 ONNX) |
| Codename | milo |
| Version | 1.0.0 (epoch 15) |
| Training labels | illustration_id + set_code (multitask ArcFace) |
1import collector_vision as cvg
2
3cvid = cvg.Identifier(cvg.HFD("HanClinto/milo", "scryfall-mtg"))
4result = cvid.identify("photo.jpg")
5print(result.ids) # {"scryfall_id": "..."}
6print(result.confidence) # 0.941import onnxruntime as ort
2import numpy as np
3from PIL import Image
4
5session = ort.InferenceSession("model.onnx")
6
7# Preprocess: resize to 448×448, ImageNet normalise, NCHW float32
8img = Image.open("card_crop.jpg").convert("RGB").resize((448, 448))
9x = np.array(img, dtype=np.float32) / 255.0
10x = (x - [0.485, 0.456, 0.406]) / [0.229, 0.224, 0.225]
11x = x.transpose(2, 0, 1)[None] # (1, 3, 448, 448)
12
13emb = session.run(None, {"pixel_values": x})[0] # (1, 128) float32, L2-normalisedmilo1 in their filename. Embeddings from different Milo versions are not compatible — rebuild the gallery when upgrading.