HI-Mapper — PromptPAR hyperbolic branch

Hyperbolic hierarchy mapper for PromptPAR, with the fixed Euclidean → Lorentz lift (running-norm scaler, stable distance, entailment cones). This repo includes source code plus the two ViT weights PromptPAR needs to run.

Weights

File Role Size
weights/ViT-L-14.pt OpenAI CLIP ViT-L/14 (PromptPAR backbone) ~890 MB
weights/jx_vit_base_p16_224-80ecf9dd.pth ImageNet ViT-B/16 (MM-former blocks init) ~331 MB
hf download ZACK777/hi-mapper --local-dir ./hi-mapper
# then point PromptPAR at:
#   .cache/clip/ViT-L-14.pt  ← copy from weights/ViT-L-14.pt
#   jx_vit_base_p16_224-80ecf9dd.pth ← copy from weights/

Code

hi_mapper/
  lorentz.py      # Lorentz manifold + EuclideanToLorentz
  tree.py         # entailment / sibling / radius losses
  hi_mapper.py    # DivHiMapper + PETA attr grouping
  hyp_diffusion.py

PETA results (new Euclidean→hyperbolic lift)

Dataset: PETA, PromptPAR flags: --use_textprompt --use_div --use_vismask --use_GL --use_mm_former. HI-Mapper default: c=0.2, hi_mapper_w=0.1, warmup 3 epochs, --use_attr_hierarchy.

Stage A — 1-epoch do-no-harm gate

Config epoch-1 mA Acc F1 notes
A_control (no HI-Mapper) 0.6102 0.4972 0.6412 baseline
A_default (HI-Mapper) 0.6375 0.5059 0.6492 +2.7 pts vs control
A_attr 0.6375 0.5059 0.6492 same as default (attr on)
A_r15 (hyp_target_radius=1.5) 0.6406 0.4981 0.6407 best epoch-1
A_prompt 0.6345 0.5050 0.6483
A_w030 (hi_mapper_w=0.3) 0.6286 0.4894 0.6339

All HI-Mapper configs beat the no-HI-Mapper control at epoch 1 (old broken lift was ~0.615 and below historical baseline).

Stage B — compressed 15-epoch (partial: epochs 1–3 before interrupt)

Epoch Control mA HI-Mapper mA HI-Mapper Acc HI-Mapper F1 hi_mapper_loss (epoch avg)
1 0.6102 0.6175 0.5139 0.6578 1.720
2 0.6337 0.6720 0.5288 0.6677 1.029
3 0.6943 0.6997 0.5634 0.6957 0.187

Key signal vs the old broken lift: hierarchical loss no longer floors at ~0.20 from epoch 1; it falls 1.72 → 0.19 by epoch 3 while mA stays ahead of the matched control.

Full 15-epoch Stage B and 100-epoch final runs were interrupted; re-launch to complete the table.

Reference (published PromptPAR, PETA)

mA 88.76 / Acc 82.84 / F1 89.18 (TCSVT 2024) — requires full 100-epoch cosine schedule.

Quick start

import torch
from hi_mapper import DivHiMapper

mapper = DivHiMapper(feat_dim=768, curvature=0.2, target_radius=1.0)
root, mid, leaves, hier_loss, prompt_loss, attr_loss = mapper(
    torch.randn(2, 5, 768), torch.randn(2, 768)
)

License

Apache-2.0 for HI-Mapper code. CLIP / ViT checkpoints retain their original licenses (OpenAI CLIP; Google / timm ImageNet ViT-B/16).

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support