当前位置: 代码网 > it编程>前端脚本>Python > 【人工智能】Transformers之Pipeline(四):零样本音频分类(zero-shot-audio-classification)

【人工智能】Transformers之Pipeline(四):零样本音频分类(zero-shot-audio-classification)

2024年07月28日 Python 我要评论
本文对transformers之pipeline的零样本音频分类(zero-shot-audio-classification)从概述、技术原理、pipeline参数、pipeline实战、模型排名等方面进行介绍,读者可以基于pipeline使用文中的代码极简的进行零样本音频分类推理,模型目前比较冷门,但介于pipeline设计了这个task,为了完整性,还是写了这一篇。

​​​​​​​

目录

一、引言 

二、零样本音频分类(zero-shot-audio-classification)

2.1 概述

2.2 意义

2.3 应用场景

2.4 pipeline参数

2.4.1 pipeline对象实例化参数​​​​​​​

2.4.2 pipeline对象使用参数 

2.4 pipeline实战

2.5 模型排名

三、总结


一、引言 

 pipeline(管道)是huggingface transformers库中一种极简方式使用大模型推理的抽象,将所有大模型分为音频(audio)、计算机视觉(computer vision)、自然语言处理(nlp)、多模态(multimodal)等4大类,28小类任务(tasks)。共计覆盖32万个模型

今天介绍audio音频的第四篇,零样本音频分类(zero-shot-audio-classification),在huggingface库内仅有4个音频分类模型。

二、零样本音频分类(zero-shot-audio-classification)

2.1 概述

零样本学习是ai识别方法之一。简单来说就是识别从未见过的数据类别,即训练的分类器不仅仅能够识别出训练集中已有的数据类别,还可以对于来自未见过的类别的数据进行区分。这是一个很有用的功能,使得计算机能够具有知识迁移的能力,并无需任何训练数据,很符合现实生活中海量类别的存在形式。。

2.2 意义

在传统ai识别任务中,训练阶段和测试阶段的类别是相同的,但每次为了识别新类别的样本需要在训练集中加入这种类别的数据。一些类别的样本收集代价大,即使收集到足够的训练样本,也需要对整个模型进行重新训练。这都会加大识别系统的成本,零样本学习方法便能很好的解决这个问题。

2.3 应用场景

2.4 pipeline参数

2.4.1 pipeline对象实例化参数

2.4.2 pipeline对象使用参数 

2.4 pipeline实战

首先下载数据集,我们采用ashraq/esc50语音数据集,其中包含2000条语音分类样本。

将数据集加载后,采用task="zero-shot-audio-classification"默认的模型laion/clap-htsat-fused进行零样本语音分类: 

import os
os.environ["hf_endpoint"] = "https://hf-mirror.com"
os.environ["cuda_visible_devices"] = "2"

from transformers import pipeline
from datasets import load_dataset

dataset = load_dataset("ashraq/esc50")
#{'filename': '1-100210-b-36.wav', 'fold': 1, 'target': 36, 'category': 'vacuum_cleaner', 'esc10': false, 'src_file': 100210, 'take': 'b', 'audio': {'path': none, 'array': array([0.53897095, 0.39627075, 0.26739502, ..., 0.09729004, 0.11227417,0.07983398]), 'sampling_rate': 44100}}
#pipe = pipeline(task="audio-classification",model="ehcalabres/wav2vec2-lg-xlsr-en-speech-emotion-recognition")
audio = dataset["train"][1]["audio"]["array"]
classifier = pipeline(task="zero-shot-audio-classification")
result = classifier(audio, candidate_labels=["sound of a dog", "sound of vaccum cleaner","chirping_birds"])
print(result)

 数据集中的第二行为chirping_birds,代码调用结果为

[{'score': 0.9998486042022705, 'label': 'chirping_birds'}, {'score': 7.838715828256682e-05, 'label': 'sound of vaccum cleaner'}, {'score': 7.297335105249658e-05, 'label': 'sound of a dog'}]

2.5 模型排名

在huggingface上,我们筛选零样本音频分类模型,并按下载量从高到低排序,基本没什么人用。。。

三、总结

本文对transformers之pipeline的零样本音频分类(zero-shot-audio-classification)从概述、技术原理、pipeline参数、pipeline实战、模型排名等方面进行介绍,读者可以基于pipeline使用文中的代码极简的进行零样本音频分类推理,模型目前比较冷门,但介于pipeline设计了这个task,为了完整性,还是写了这一篇。

期待您的3连+关注,如何还有时间,欢迎阅读我的其他文章:

《transformers-pipeline概述》

【人工智能】transformers之pipeline(概述):30w+大模型极简应用

《transformers-pipeline 第一章:音频(audio)篇》

【人工智能】transformers之pipeline(一):音频分类(audio-classification)​​​​​​​

【人工智能】transformers之pipeline(二):自动语音识别(automatic-speech-recognition)

【人工智能】transformers之pipeline(三):文本转音频(text-to-audio/text-to-speech)

【人工智能】transformers之pipeline(四):零样本音频分类(zero-shot-audio-classification)​​​​​​​

《transformers-pipeline 第二章:计算机视觉(cv)篇》

【人工智能】transformers之pipeline(五):深度估计(depth-estimation)

【人工智能】transformers之pipeline(六):图像分类(image-classification)

【人工智能】transformers之pipeline(七):图像分割(image-segmentation)

【人工智能】transformers之pipeline(八):图生图(image-to-image)

【人工智能】transformers之pipeline(九):物体检测(object-detection)

【人工智能】transformers之pipeline(十):视频分类(video-classification)

【人工智能】transformers之pipeline(十一):零样本图片分类(zero-shot-image-classification)

【人工智能】transformers之pipeline(十二):零样本物体检测(zero-shot-object-detection)

《transformers-pipeline 第三章:自然语言处理(nlp)篇》

【人工智能】transformers之pipeline(十三):填充蒙版(fill-mask)

【人工智能】transformers之pipeline(十四):问答(question-answering)

【人工智能】transformers之pipeline(十五):总结(summarization)

【人工智能】transformers之pipeline(十六):表格问答(table-question-answering)

【人工智能】transformers之pipeline(十七):文本分类(text-classification)

【人工智能】transformers之pipeline(十八):文本生成(text-generation)

【人工智能】transformers之pipeline(十九):文生文(text2text-generation)

【人工智能】transformers之pipeline(二十):令牌分类(token-classification)

【人工智能】transformers之pipeline(二十一):翻译(translation)

【人工智能】transformers之pipeline(二十二):零样本文本分类(zero-shot-classification)

《transformers-pipeline 第四章:多模态(multimodal)篇》

【人工智能】transformers之pipeline(二十三):文档问答(document-question-answering)

【人工智能】transformers之pipeline(二十四):特征抽取(feature-extraction)

【人工智能】transformers之pipeline(二十五):图片特征抽取(image-feature-extraction)

【人工智能】transformers之pipeline(二十六):图片转文本(image-to-text)

【人工智能】transformers之pipeline(二十七):掩码生成(mask-generation)

【人工智能】transformers之pipeline(二十八):视觉问答(visual-question-answering)

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com