saifox's picture
Update app.py
58d483a verified
Raw
History Blame Contribute Delete
1.71 kB
import gradio as gr
from fastai.vision.all import *
import platform
import pathlib
import traceback # Importez ceci
# Correction des chemins pour Windows sur Linux
if platform.system() == 'Linux':
pathlib.WindowsPath = pathlib.PosixPath
# Charger le modèle
learn = load_learner('export.pkl')
labels = learn.dls.vocab
def predict(img): # img est le chemin du fichier temporaire
img = PILImage.create(img)
_, pred_idx, probs = learn.predict(img)
return {
"predicted_class": labels[pred_idx],
"all_predictions": [
{"class": labels[i], "probability": float(probs[i])}
for i in range(len(labels))
]
}
# Interface API simple
app = gr.Interface(
fn=predict,
inputs=gr.Image(type="filepath"), # Ici, 'filepath' est le bon type pour le nom de fichier temporaire
outputs=gr.JSON(),
title="Skin Analyzer API",
allow_flagging="never"
)
# Lancement avec accès public
app.launch(
server_name="0.0.0.0",
server_port=7860,
# share=True # Assurez-vous que cette ligne est bien commentée ou supprimée !
)
# ====================================================================
# IMPORTANT : Testez la fonction predict_api directement via l'interface web Gradio si possible
# Normalement, votre `app` (qui est un gr.Interface) expose déjà /api/predict
#
# Voici comment vous pouvez appeler cette API via votre navigateur (outil POSTMAN ou CURL) :
# URL: https://saifox-skin-problems-analyzer.hf.space/api/predict
# Méthode: POST
# Type de Contenu: multipart/form-data
# Champ de fichier: 'file' (nom du champ)
# Valeur du champ: votre fichier image
# ====================================================================