Construire une démo avec Gradio
Dans cette dernière section sur la classification audio, nous allons construire une démo avec Gradio pour présenter le modèle de classification musicale que nous venons d’entraîner sur le jeu de données GTZAN.
La première chose à faire est de charger le checkpoint finetuné en utilisant la classe pipeline()
que vous connaissez grâce à la section sur les modèles pré-entraînés. Vous pouvez changer le model_id
avec le nom de votre modèle finetuné et présent sur Hub :
from transformers import pipeline
model_id = "sanchit-gandhi/distilhubert-finetuned-gtzan"
pipe = pipeline("audio-classification", model=model_id)
Deuxièmement, nous allons définir une fonction qui prend le chemin du fichier d’une entrée audio et le passe à travers le pipeline.
Ici, le pipeline s’occupe automatiquement de charger le fichier audio, de le ré-échantillonner à la bonne fréquence d’échantillonnage, et de lancer l’inférence avec le modèle.
Nous prenons les prédictions de preds
du modèle et les formatons en tant qu’objet dictionnaire à afficher sur la sortie :
def classify_audio(filepath):
preds = pipe(filepath)
outputs = {}
for p in preds:
outputs[p["label"]] = p["score"]
return outputs
Enfin, nous lançons la démo Gradio en utilisant la fonction que nous venons de définir :
import gradio as gr
demo = gr.Interface(
fn=classify_audio, inputs=gr.Audio(type="filepath"), outputs=gr.outputs.Label()
)
demo.launch(debug=True)
Ceci lancera une démo similaire à celle qui tourne sur le Space :
< > Update on GitHub