hyper-models
A model zoo for non-Euclidean embedding models
Hyperbolic · Spherical · Product Manifolds
Why?
- Standardized access to non-Euclidean embedding models
- One catalog surface: model names map to internal loaders such as ONNX or optional torch-backed runtimes
- Simple API —
load()andencode_images()
Installation
uv pip install hyper-models
This base install is the simple path: it stays torch-free and is enough for ONNX-backed catalog entries such as HyCoCLIP and MERU.
For torch-backed checkpoints (for example UNCHA and Hyper3-CLIP):
uv pip install "hyper-models[ml]"
Usage
import hyper_models
from PIL import Image
# List available models
hyper_models.list_models()
# ['hycoclip-vit-s', 'hycoclip-vit-b', 'meru-vit-s', 'meru-vit-b', 'uncha-vit-s', 'uncha-vit-b', 'hyper3-clip-v1']
# Inspect supported internal loader kinds
hyper_models.list_loaders()
# ['hyper3-clip-torch', 'onnx', 'uncha-image-torch']
# Load model (auto-downloads from Hugging Face Hub)
model = hyper_models.load("hycoclip-vit-s")
model.geometry # 'hyperboloid'
model.dim # 513
# Encode PIL images
images = [Image.open("image.jpg")]
embeddings = model.encode_images(images) # (1, 513) ndarray
# Get model info
info = hyper_models.get_model_info("hycoclip-vit-s")
info.hub_id # 'mnm-matin/hyperbolic-clip'
info.loader # 'onnx'
info.license # 'CC-BY-NC'
# Low-level: preprocess images yourself
batch = hyper_models.preprocess_images(images) # (B, 3, 224, 224)
embeddings = model.encode(batch)
Architecture
hyper-models is intended to be a timm-like catalog for non-Euclidean models.
- The public abstraction is the catalog entry name, for example
hycoclip-vit-s. - Each entry declares metadata such as geometry, dimensionality, artifact path, and an internal loader kind.
- Internal loaders may differ by model family:
onnxfor exported, torch-free runtimesuncha-image-torchfor raw checkpoints that need a PyTorch image runtimehyper3-clip-torchfor Hyper3-CLIP safetensors checkpoints
This keeps callers on one stable API:
model = hyper_models.load("hycoclip-vit-s")
model = hyper_models.load("uncha-vit-b")
model = hyper_models.load("hyper3-clip-v1")
Callers do not need to know which internal loader is used, except for optional
dependency installation when choosing entries that need hyper-models[ml].
HyperView integration
HyperView auto-detects hyper-models names and routes them to the hyper-models provider.
import hyperview as hv
dataset = hv.Dataset.from_huggingface(
name="demo",
hf_dataset="uoft-cs/cifar10",
split="train",
image_key="img",
)
# Uses provider='hyper-models' automatically.
space_key = dataset.compute_embeddings(model="uncha-vit-b")
layout_key = dataset.compute_visualization(space_key=space_key, layout="poincare")
HyperView's simple path remains torch-free. If you use the default ONNX-backed
hyper-models entries or the default embed-anything provider, HyperView does
not need PyTorch. PyTorch is only needed when you explicitly select a
torch-backed catalog entry such as uncha-vit-s, uncha-vit-b, or
hyper3-clip-v1.
Models
Hyperbolic
| Model | Available | Paper | Code |
|---|---|---|---|
hycoclip-vit-s |
ICLR 2025 | PalAvik/hycoclip | |
hycoclip-vit-b |
ICLR 2025 | PalAvik/hycoclip | |
meru-vit-s |
ICML 2023 | facebookresearch/meru | |
meru-vit-b |
ICML 2023 | facebookresearch/meru | |
uncha-vit-s |
CVPR 2026 | jeeit17/UNCHA | |
uncha-vit-b |
CVPR 2026 | jeeit17/UNCHA | |
hyper3-clip-v1 |
— | Hyper3Labs/hyper3-clip | |
hyp-vit |
— | CVPR 2022 | htdt/hyp_metric |
hie |
— | CVPR 2020 | leymir/hyperbolic-image-embeddings |
hcnn |
— | ICLR 2024 | kschwethelm/HyperbolicCV |
Hyperspherical
| Model | Available | Paper | Code |
|---|---|---|---|
megadescriptor (via timm) |
WACV 2024 | WildlifeDatasets/wildlife-datasets | |
sphereface |
— | CVPR 2017 | wy1iu/sphereface |
arcface |
— | CVPR 2019 | deepinsight/insightface |
Product Manifolds
| Model | Available | Paper | Code |
|---|---|---|---|
hyperbolics |
— | ICLR 2019 | HazyResearch/hyperbolics |
Export Tooling
This repo also contains tooling to export PyTorch models to ONNX:
cd export/hycoclip
uv run python export_onnx.py --checkpoint model.pth --onnx model.onnx
See export/hycoclip/README.md for details.
References
Metadata
Release files for hyper-models 0.3.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hyper_models-0.3.2.tar.gz | 44.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hyper_models-0.3.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 96.6 kB
Release files / hyper_models-0.3.2.tar.gz
| Download URL | hyper_models-0.3.2.tar.gz |
|---|---|
| Size | 44.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7481cc46497ae6d84ef2ca3209fc40e95b4e2fefeac2c79a321bfea822c3be39
|
|
BLAKE2b-256 checksum How to use checksums |
1380d472f8ac662c461db4d5ff593edf66662178c1de0c08cf5132d33749ed8a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 6, 2026.
Transparency logRelease files / hyper_models-0.3.2-py3-none-any.whl
| Download URL | hyper_models-0.3.2-py3-none-any.whl |
|---|---|
| Size | 51.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5bc70226a72bfde4c4c2f53e37e79f9a7cd417bd7436a1362895efb3adb221c4
|
|
BLAKE2b-256 checksum How to use checksums |
d007ab1913444c35cbf8a77c8e71c7fbc8a3be942cacc99c6713c9adb075bd58
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 6, 2026.
Transparency log