Créer une interface web avec Gradio
Gradio est un package Python qui permet de créer des interfaces web pour les modèles de machine learning.
Gradio vous permet de créer rapidement des composants d'interface utilisateur personnalisables autour de vos modèles TensorFlow ou PyTorch, ou même des fonctions Python arbitraires. Mélangez et associez les composants pour prendre en charge toute combinaison d'entrées et de sorties.....
Les composants de Gradio
Une application Gradio est composée de trois composantes
- des entrées
- une fonction de traitement
- des sorties
Le fonctionnement de Gradio est relativement simplement, on fournit des entrées qui vont être traitées par la fonction de traitement et retourner des sorties.
Installation
Gradio peut être installé depuis le répertoire PyPi.
Première application
Créer un fichier app.py
Créer la fonction de traitement
Définir les entrées et les sorties
app = gr.Interface(fn=greet,
inputs=input_name,
outputs=output_msg,
title="Greeting App",
description="Enter your name to get a greeting message")
Lancer l'application
Le code complet
import gradio as gr
def greet(name):
return f"Hello {name} !"
input_name = gr.Textbox(label="Name")
output_msg = gr.Textbox(label="Message")
app = gr.Interface(fn=greet,
inputs=input_name,
outputs=output_msg,
title="Greeting App",
description="Enter your name to get a greeting message")
app.launch()
Image Black & White Converter
Créer un fichier app.py
Créer la fonction de traitement
Définir les entrées et les sorties
app = gr.Interface(fn=greet,
inputs=input_name,
outputs=output_msg,
title="Greeting App",
description="Enter your name to get a greeting message")
Lancer l'application
Le code complet
# Packages
import gradio as gr
from PIL import Image
# Serving Function
def convert_image(image):
pil_image = Image.fromarray(image)
pil_image = pil_image.convert("L")
return pil_image
# Setup interface
input_image = gr.Image()
output_image = gr.Image()
app = gr.Interface(fn=convert_image,
inputs=input_image,
outputs=output_image,
title="Image Black & White Converter",
description="Simple tool to convert any image in Black & White")
# Launch
app.launch()
Modèle de classification d'image
Créons à pésent une interface pour un modèle de classification d'image
Pour en savoir plus, merci de consulter la documentation de Gradio ici https://gradio.app/.