SigLIP-based Aesthetic Score Predictor
438
stars
23
commits
Python
primary language
Dec 18, 2024
updated
Aesthetic Predictor V2.5 is a SigLIP-based predictor that evaluates the aesthetics of an image on a scale from 1 to 10.
Compared to Aesthetic Predictor V2, it has been improved to evaluate a wider range of image domains such as illustrations.
Unlike V2, 5.5+ is considered to be a great aesthetic score.
You can try Aesthetic Predictor V2.5 at Hugging Face Spaces!
pip install aesthetic-predictor-v2-5
This repository features an interface similar to Hugging Face Transformers, almost same as Simple Aesthetics Predictor, making it easy to use.
from pathlib import Path
import torch
from aesthetic_predictor_v2_5 import convert_v2_5_from_siglip
from PIL import Image
SAMPLE_IMAGE_PATH = Path("path/to/image")
# load model and preprocessor
model, preprocessor = convert_v2_5_from_siglip(
low_cpu_mem_usage=True,
trust_remote_code=True,
)
model = model.to(torch.bfloat16).cuda()
# load image to evaluate
image = Image.open(SAMPLE_IMAGE_PATH).convert("RGB")
# preprocess image
pixel_values = (
preprocessor(images=image, return_tensors="pt")
.pixel_values.to(torch.bfloat16)
.cuda()
)
# predict aesthetic score
with torch.inference_mode():
score = model(pixel_values).logits.squeeze().float().cpu().numpy()
# print result
print(f"Aesthetics score: {score:.2f}")
With ComfyUI, you can use this custom node.
22 commits
1 commits
Python
70.5%
Dockerfile
16.8%
Makefile
12.7%
SigLIP-based Aesthetic Score Predictor
438
stars
23
commits
Python
primary language
Dec 18, 2024
updated
Aesthetic Predictor V2.5 is a SigLIP-based predictor that evaluates the aesthetics of an image on a scale from 1 to 10.
Compared to Aesthetic Predictor V2, it has been improved to evaluate a wider range of image domains such as illustrations.
Unlike V2, 5.5+ is considered to be a great aesthetic score.
You can try Aesthetic Predictor V2.5 at Hugging Face Spaces!
pip install aesthetic-predictor-v2-5
This repository features an interface similar to Hugging Face Transformers, almost same as Simple Aesthetics Predictor, making it easy to use.
from pathlib import Path
import torch
from aesthetic_predictor_v2_5 import convert_v2_5_from_siglip
from PIL import Image
SAMPLE_IMAGE_PATH = Path("path/to/image")
# load model and preprocessor
model, preprocessor = convert_v2_5_from_siglip(
low_cpu_mem_usage=True,
trust_remote_code=True,
)
model = model.to(torch.bfloat16).cuda()
# load image to evaluate
image = Image.open(SAMPLE_IMAGE_PATH).convert("RGB")
# preprocess image
pixel_values = (
preprocessor(images=image, return_tensors="pt")
.pixel_values.to(torch.bfloat16)
.cuda()
)
# predict aesthetic score
with torch.inference_mode():
score = model(pixel_values).logits.squeeze().float().cpu().numpy()
# print result
print(f"Aesthetics score: {score:.2f}")
With ComfyUI, you can use this custom node.
22 commits
1 commits
Python
70.5%
Dockerfile
16.8%
Makefile
12.7%