Skip to content

Model cards

A model is described by a card: a document that states what the model accepts, what its input must be, where it runs, which genes it returns and how it scored on held-out data. The card is the contract. It is published in the same change that makes the model servable, so a model cannot be running without a description, and the description cannot claim something the service does not do.

The published catalogue

No model is published yet

This catalogue is generated from the model cards marked public, and there are none. Nothing is being withheld from this page: a model becomes servable and documentable in the same change, so when a card is published its identifier, what it accepts, where it runs, its gene output and its held-out numbers appear here together.

What a card carries

Field Always present Shape
schema_version yes
id yes string
visibility yes one of public, internal
name yes string
family yes one of pooled-head, token-model
accepts yes object with covariates, observations
runtime yes object with hosted, local
input_spec yes the input_spec document
output yes object with gene_table, n_genes
postprocess yes array of string
metrics yes object with heldout, per_gene_mean_baseline_pearson_mean, per_gene_pearson_mean, spatial
provenance yes object with released_at, training_repo_commit
sunset yes string or null

Identifiers include the release

A model identifier names a release, not a moving target. Predictions made against one release stay comparable, and a new release is a new identifier rather than a silent change under the old one. A model that is being retired carries a retirement date on its card ninety days ahead, and the client warns while that date is in the future.

Vocabularies

Property Values
Card schema version 2
Visibilities public, internal
Hosted runtimes gpu, cpu
Poolings cls, mean_patch_tokens, cls_plus_mean, token_grid
Encoder access gates none, auto, manual

visibility is why the catalogue above can be empty while models exist: only a card marked public is served, documented or shipped in the package. That filter is applied by the service, by this site's build and by the package's release check independently, so publishing a model is a decision made once and enforced three times.

Where a model runs is the card's business, not yours. A hosted runtime means the service runs it; a local runtime means the package can run it on your own machine at the same pinned weights, and produce the same file. A model with both is the same code in both places — that is the point of pinning the revision on the card.

Open weights come with their own terms. For a model whose weights are released under a non-commercial licence, access to the weights is approved by hand, and that model's licence is accepted with its provider rather than here. The card names the licence and whether the gate is manual.

Held-out numbers

Every card carries its held-out evaluation and the baseline it is compared against, because a correlation with no baseline is not a result. Benchmark pages with per-gene numbers are not on this site yet; when they are, they will be generated from the same cards rather than written alongside them.