Audio Course documentation

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

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Создание демонтрационного образца с 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: