159 / app.py
yavuzk's picture
Upload 3 files
d8cf448 verified
Raw
History Blame Contribute Delete
1.43 kB
"""
Sima Face Shape API — Hugging Face Space
Loads metadome/face_shape_classification (ViT, ~85% accuracy on 5 classes)
and exposes a Gradio API endpoint that the Sima web app calls.
"""
import gradio as gr
from transformers import pipeline
from PIL import Image
# Modeli sadece bir kez yükle (Space başlatıldığında)
classifier = pipeline(
"image-classification",
model="metadome/face_shape_classification",
)
def classify(image):
"""Resmi alır, yüz tipi olasılıklarını döndürür.
Çıktı: {'Heart': 0.12, 'Oval': 0.71, ...}
"""
if image is None:
return {}
# PIL Image bekleniyor
if not isinstance(image, Image.Image):
image = Image.fromarray(image)
results = classifier(image)
return {r["label"]: float(r["score"]) for r in results}
demo = gr.Interface(
fn=classify,
inputs=gr.Image(type="pil", label="Yüz fotoğrafı"),
outputs=gr.Label(num_top_classes=5, label="Yüz tipi olasılıkları"),
title="Sîma — Yüz Tipi Sınıflandırması",
description=(
"ViT tabanlı yüz tipi sınıflandırıcısı. 5 sınıf: "
"Heart, Oblong, Oval, Round, Square. Sîma web uygulaması "
"bu Space'in API'sini çağırarak yüz tipi tahmini alır."
),
api_name="classify",
allow_flagging="never",
)
if __name__ == "__main__":
# CORS açık olmalı ki tarayıcıdan çağrılabilsin
demo.launch()