#
Создание демонтрационного образца с Gradio

В этом заключительном разделе, посвященном классификации звука, мы построим демонстрационный пример Gradio чтобы продемонстрировать модель классификации музыки, которую мы только что обучили на наборе данных GTZAN. Первое, что необходимо сделать, это загрузить контрольную точку дообученной модели с помощью класса `pipeline()` - это уже хорошо знакомо по разделу Предварительно обученные модели и наборы данных для классификации звука. Вы можете изменить `model_id` на пространство имен вашей дообученной модели на Hugging Face Hub:

    from transformers import pipeline

    model_id = "sanchit-gandhi/distilhubert-finetuned-gtzan"
    pipe = pipeline("audio-classification", model=model_id)

Во-вторых, мы определим функцию, которая принимает путь к файлу для входного аудиосигнала и пропускает его через конвейер. Здесь конвейер автоматически позаботится о том, чтобы загрузить аудиофайл, передискретизировать его до нужной частоты дискретизации и выполнить вывод с помощью модели. Мы берем предсказания модели `preds` и оформляем их в виде словаря для отображения на выходе:

    def classify_audio(filepath):
        preds = pipe(filepath)
        outputs = {}
        for p in preds:
            outputs[p["label"]] = p["score"]
        return outputs

Наконец, мы запускаем демонстрационную программу Gradio с помощью функции, которую мы только что определили:

    import gradio as gr

    demo = gr.Interface(
        fn=classify_audio, inputs=gr.Audio(type="filepath"), outputs=gr.outputs.Label()
    )
    demo.launch(debug=True)

В результате будет запущена демонстрация Gradio, аналогичная той, что работает на Hugging Face Space:

Update on GitHub