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