Views
No views yet

[0, 1]; higher means more to this person'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-aesthetic")
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-aesthetic").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.7671 | 0.7695 | 0.4859 | 0.4191 |
embedding[1152] → LayerNorm → MLP [1024, 512, 256] → ordinal head. Trained on one
person's private 1–5 ratings; labels and images not released. 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}