Views
No views yet

[0, 1]; higher means more to this judge's liking.google/siglip2-so400m-patch14-384 backbone, which silva[backbone] installs and loads for you.1# pip install "silva-scorer[backbone] @ git+https://github.com/Jannchie/silva"
2from silva import SilvaScorer
3
4scorer = SilvaScorer.from_pretrained("Jannchie/silva-luna")
5print(scorer.score("your_image.jpg")) # 0.73
6print(scorer.score(["a.jpg", "b.jpg"])) # [0.73, 0.41]google/siglip2-so400m-patch14-384 embeddings? Skip the backbone and score them directly:1# pip install "silva-scorer @ git+https://github.com/Jannchie/silva"
2from silva import EmbeddingAestheticModel
3
4head = EmbeddingAestheticModel.from_pretrained("Jannchie/silva-luna").eval()
5score = head(embedding)["calibrated_score"] # calibrated to the label distribution; ["score"] for raw. embedding: [B, 1152] pooler_output| Spearman | Pearson | MAE (1–5) | Top-5% |
|---|---|---|---|
| 0.8105 | 0.7986 | 0.4331 | 0.4672 |
embedding[1152] → LayerNorm → MLP [1024, 512, 256] → ordinal head. Trained on
rankings from openai:gpt-5.6-luna, which ordered eight illustrations at a time; the orderings were pooled with Plackett-Luce into one latent per picture (degree 14, split-half reliability 0.827). The labels ARE published -- see the dataset link above. Source1@software{pan2026silva,
2 author = {Pan, Jianqi},
3 title = {{SILVA}: {SigLIP}-based Illustration Visual Aesthetic Scorer},
4 year = {2026},
5 url = {https://github.com/Jannchie/silva},
6}