saifox's picture
Create api.py
fc1a53a verified
Raw
History Blame Contribute Delete
1.08 kB
# api.py
import gradio as gr
from fastai.vision.all import *
import platform
import pathlib
# Corriger WindowsPath si nécessaire
plt = platform.system()
if plt == 'Linux': pathlib.WindowsPath = pathlib.PosixPath
# Charger le modèle
learn = load_learner('export.pkl')
labels = learn.dls.vocab
# Fonction principale de prédiction
def predict(img):
img = PILImage.create(img)
pred, pred_idx, probs = learn.predict(img)
# Résultat principal
predicted_class = labels[pred_idx]
# Préparer réponse JSON
response = {
"predicted_class": predicted_class,
"all_predictions": [
{
"class": labels[i],
"probability": float(probs[i])
} for i in range(len(labels))
]
}
return response
# Interface API (sans HTML, juste pour Flutter)
demo = gr.Interface(
fn=predict,
inputs=gr.Image(type="pil", shape=(512, 512)),
outputs=gr.JSON(label="Résultat"),
title="Face Analyzer API",
description="Interface API pour analyseur de peau"
)
demo.launch(share=True)