#
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