SILVA β€” Personal Aesthetic Head

β–Ά Try it in your browser β€” upload an illustration, see this person's score live.

Scores an illustration by one specific person's taste β€” not a universal quality model, so it won't match anyone else's preferences. Output is a single number in [0, 1]; higher means more to this person's liking.

Only the head ships here (~7 MB), not an image model. It runs on top of the frozen google/siglip2-so400m-patch14-384 backbone, which silva[backbone] installs and loads for you.

Quickstart

# pip install "silva-scorer[backbone] @ git+https://github.com/Jannchie/silva"
from silva import SilvaScorer

scorer = SilvaScorer.from_pretrained("Jannchie/silva-aesthetic")
print(scorer.score("your_image.jpg"))     # 0.73
print(scorer.score(["a.jpg", "b.jpg"]))    # [0.73, 0.41]

Already have google/siglip2-so400m-patch14-384 embeddings? Skip the backbone and score them directly:

# pip install "silva-scorer @ git+https://github.com/Jannchie/silva"
from silva import EmbeddingAestheticModel

head = EmbeddingAestheticModel.from_pretrained("Jannchie/silva-aesthetic").eval()
score = head(embedding)["calibrated_score"]  # calibrated to the label distribution; ["score"] for raw. embedding: [B, 1152] pooler_output

Scores (held-out test split)

Spearman Pearson MAE (1–5) Top-5%
0.7644 0.7660 0.4901 0.3778

Architecture: embedding[1152] β†’ LayerNorm β†’ MLP [1024, 512, 256] β†’ ordinal head. Trained on one person's private 1–5 ratings; labels and images not released. Source

Downloads last month
52
Safetensors
Model size
1.84M params
Tensor type
F32
Β·
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for Jannchie/silva-aesthetic

Adapter
(1)
this model

Space using Jannchie/silva-aesthetic 1

Evaluation results