Skip to main content

hyper-models

A model zoo for non-Euclidean embedding models
Hyperbolic · Spherical · Product Manifolds

Hugging Face License: MIT


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() and encode_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:
    • onnx for exported, torch-free runtimes
    • uncha-image-torch for raw checkpoints that need a PyTorch image runtime
    • hyper3-clip-torch for 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].

For hyper3-clip-v1, encode_images(images) and encode_texts(texts) return 513-coordinate Lorentz embeddings in the same space. The loader downloads the model's runtime configuration, weights, and tokenizer together. Complete the model's Hugging Face access form and run hf auth login before the first download.

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 HF ICLR 2025 PalAvik/hycoclip
hycoclip-vit-b HF ICLR 2025 PalAvik/hycoclip
meru-vit-s HF ICML 2023 facebookresearch/meru
meru-vit-b HF ICML 2023 facebookresearch/meru
uncha-vit-s HF CVPR 2026 jeeit17/UNCHA
uncha-vit-b HF CVPR 2026 jeeit17/UNCHA
hyper3-clip-v1 HF — 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) HF 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.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hyper-models 0.3.5
File Size Uploaded
hyper_models-0.3.5.tar.gz 45.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hyper-models 0.3.5
File Interpreter ABI Platform
hyper_models-0.3.5-py3-none-any.whl Python 3 none any Details

Total release size: 99.1 kB

Release files / hyper_models-0.3.5.tar.gz

Download URL hyper_models-0.3.5.tar.gz
Size 45.9 kB
Tags Source
SHA-256 checksum
How to use checksums
96cdd0b96320457f6b4880091715c334a2f6dcd6a85b3d972c28605e48a2c12f
BLAKE2b-256 checksum
How to use checksums
1a217b085e7218f265103f17843993501e9f912bbeac6cde64b3e84307407072
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 19, 2026.

Transparency log

Release files / hyper_models-0.3.5-py3-none-any.whl

Download URL hyper_models-0.3.5-py3-none-any.whl
Size 53.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bbc7f9aba879866a36c0e91350faafcc359d4e67ad0fdd47810e80e28dd6f632
BLAKE2b-256 checksum
How to use checksums
4b71a05d5684e571ce8572af15626ef74aefd36968c15b64a2b6450c11b0b0c9
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 19, 2026.

Transparency log

Release history Release notifications | RSS feed

0.4.0

2 release files

This release

0.3.5 This release

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page