Audio Course documentation

Construire une démo avec Gradio

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

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 :