H-optimus-0
1.1-billion-parameter ViT-g/14 pathology encoder trained on more than 500,000 H&E slides (hundreds of millions of tiles), released under Apache-2.0 — one of the few large pathology foundation models with a permissive licence.
🤗 80 579 downloads / month ♥ 92 updated 2025-12-12 gatedAt a glance
What it does
Tile embeddings for classification, mutation and biomarker prediction; the Apache licence makes it usable inside commercial pipelines.
Tasks, data types and cancers
Architecture
Training data
Over 500,000 H&E whole-slide images from a multi-site, multi-country collection assembled by Bioptimus; hundreds of millions of tiles.
Linked datasets
- evaluation CAMELYON16 / CAMELYON17 Open download
- evaluation TCGA — The Cancer Genome Atlas (via NCI Genomic Data Commons) Free registration
Evaluation
| Benchmark / dataset | Metric | Value | External validation | Source |
|---|---|---|---|---|
| Camelyon16 — breast cancer detection (slide level, ABMIL) | AUC-ROC | 0.989 (SD 0.003); developer-run benchmark, average over 50 trainings | no | Source |
| PAIP 2020 — MSI prediction in colorectal cancer (slide level, ABMIL) | AUC-ROC | 0.967 (SD 0.007); developer-run benchmark, average over 50 trainings | no | Source |
| SLN-Breast — breast cancer detection (slide level, ABMIL) | AUC-ROC | 0.934 (SD 0.006); developer-run benchmark, average over 50 trainings | no | Source |
| TCGA-STAD-Kather — MSI prediction in gastric cancer (slide level, ABMIL) | AUC-ROC | 0.846 (SD 0.004); developer-run benchmark, average over 50 trainings | no | Source |
| Yale HER2 — HER2 status prediction in breast cancer (slide level, ABMIL) | AUC-ROC | 0.828 (SD 0.009); developer-run benchmark, average over 50 trainings | no | Source |
| CAMELYON17-WILDS, CRC-100K (normalised / not normalised), MHIST, TCGA-UNIFORM — tile classification (linear probing) | accuracy | 0.982 / 0.962 / 0.956 / 0.828 / 0.843 (SD 0.001-0.006); developer-run benchmark, linear classifier on frozen features, mean of three trainings | no | Source |
How to run
# generic timm loader — check the model card for the exact init args and image normalisation
import timm, torch
from huggingface_hub import login
login() # gated repos: accept the licence on huggingface.co first
model = timm.create_model('hf-hub:bioptimus/H-optimus-0', pretrained=True)
model.eval()
cfg = timm.data.resolve_data_config({}, model=model)
transform = timm.data.create_transform(**cfg)
# emb = model(transform(tile).unsqueeze(0)) # 1 x D tile embedding
Gated download (accept terms); the model card specifies the exact normalisation constants — use them, not ImageNet defaults.
Regulatory status and intended use
Regulatory status is quoted from the source linked above and can change. Research-use-only models must not be used for clinical decisions.
Limitations and bias
- No peer-reviewed paper at release; details of the pretraining cohort are only partially disclosed.
- Large model: slower tile throughput than ViT-L encoders.
Sources
This page is educational — it is not medical advice and does not replace consultation with an oncologist. Diagnostic and treatment decisions are made solely by specialist physicians.