使用 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)
这将启动一个类似于 Hugging Face 空间上运行的 Gradio 演示