开源技术 * IBM 微讲堂:Kubeflow 系列(观看回放 | 下载讲义) 了解详情

概述

音频分类器(Audio Classifier)将带符号的 16 位 PCM wav 文件识别为输入信息,生成嵌入值,并将其应用 PCA 转换/量化, 将嵌入值用作为多注意力分类器的输入,然后输出最主要的五类预测和概率 作为输出结果。 该模型目前支持 527 个类别,这些类别都包含在 Audioset Ontology 中。这些类别和 label_ids 可以 在 class_labels_indices.csv 中找到。如 ‘Multi-level Attention Model for Weakly Supervised Audio Classification’(作者:Yu et al)这篇文章中所述,该模型已在 AudioSet 上进行训练。

该模型已在多种音频类别中进行了测试,对于音乐、演讲类别效果最好。 这主要是因为训练数据集中的数据偏向于这些类别(90% 的音频属于 这两类中的一种)。尽管该模型是基于从 YouTube 视频中提取的 Audioset 数据进行训练的,但该模型可以 应用于除音乐、演讲领域之外的各种音频文件。随此模型一起提供的测试资产 可广泛应用于各种领域。

模型元数据

领域 应用 行业 框架 训练数据 输入数据格式
音频 分类 多种 Keras/TensorFlow Google AudioSet 带符号的 16 位 PCM WAV 或 MP3 音频文件

参考资料

许可

组件 许可 链接
模型 GitHub 代码库 Apache 2.0 许可
模型文件 Apache 2.0 AudioSet
模型代码 MIT AudioSet Classification
测试资产 各种各样 样本 README

可用于部署此模型的选项

  • 从 Dockerhub 部署:

    docker run -it -p 5000:5000 codait/max-audio-classifier
    
  • 在 Red Hat OpenShift 上部署:

    遵照本教程中有关 OpenShift Web 控制台或 OpenShift Container Platform CLI 的操作说明,并指定 codait/max-audio-classifier 作为镜像名称。

  • 在 Kuberneters 上部署:

    kubectl apply -f https://raw.githubusercontent.com/IBM/MAX-Audio-Classifier/master/max-audio-classifier.yaml
    

    有关如何将此 MAX 模型部署到 IBM Cloud 上的生产环境中的更详细教程,可以在此处找到。

  • 本地部署:遵照 GitHub 上的模型 README 中的说明进行操作

用法示例

您可以通过以下方式测试或使用此模型

使用 cURL 测试该模型

部署之后,您可以通过命令行测试该模型。例如,如果在本地运行:

curl -F "audio=@samples/thunder.wav" -XPOST http://localhost:5000/model/predict
{
    "status": "ok",
    "predictions": [
        {
            "label_id": "/m/06mb1",
            "label": "Rain",
            "probability": 0.7376469373703003
        },
        {
            "label_id": "/m/0ngt1",
            "label": "Thunder",
            "probability": 0.60517817735672
        },
        {
            "label_id": "/t/dd00038",
            "label": "Rain on surface",
            "probability": 0.5905200839042664
        }
    ]
}

在 Node-RED 流中测试该模型

完成 node-red-contrib-model-asset-exchange 模块设置操作说明,并导入 audio-classifier 开始流程。

在 CodePen 中测试该模型

了解在 CodePen 中如何将音频剪辑发送到该模型。

在无服务器应用中测试该模型

您可以通过遵照在 IBM Cloud Functions 中利用深度学习教程中的操作说明,在无服务器应用程序中使用该模型。

资源和贡献

如果您有兴趣为 Model Asset Exchange 项目做出贡献或有任何疑问,请按照此处的说明进行操作。

本文翻译自:Audio Classifier(2018-09-21)