My Awesome Mind Model
M
My Awesome Mind Model
由 Gyaneshere 开发
基于facebook/wav2vec2-base模型在minds14数据集上微调的音频分类模型
下载量 4
发布时间 : 2/7/2025
模型简介
这是一个用于音频分类的微调模型,主要用于识别说话者意图。模型基于wav2vec2架构,在minds14数据集上进行了微调。
模型特点
基于wav2vec2架构
使用facebook开源的wav2vec2-base模型作为基础架构
轻量级微调
在minds14数据集上进行了10个epoch的微调
模型能力
音频分类
说话者意图识别
使用案例
语音交互
语音助手意图识别
识别用户通过语音表达的意图
🚀 超棒的MIND模型
本模型是 facebook/wav2vec2-base 在 minds14 数据集上的微调版本。它在评估集上取得了如下结果:
- 损失值:2.6577
- 准确率:0.0619
🚀 快速开始
本指南将展示如何:
- 在 MInDS - 14 数据集上微调 Wav2Vec2 以对说话者意图进行分类。
- 使用微调后的模型进行推理。
本教程中演示的任务支持以下模型架构: Audio Spectrogram Transformer、Data2VecAudio、Hubert、SEW、SEW - D、UniSpeech、UniSpeechSat、Wav2Vec2、Wav2Vec2 - Conformer、WavLM、Whisper
在开始之前,请确保已安装所有必要的库:
pip install transformers datasets evaluate
建议登录 Hugging Face 账户,以便将模型上传并与社区共享。出现提示时,输入令牌进行登录:
from huggingface_hub import notebook_login
notebook_login()
✨ 主要特性
- 基于预训练模型
facebook/wav2vec2-base
进行微调,用于音频分类任务。 - 支持对说话者意图进行分类,在 MInDS - 14 数据集上进行了训练和评估。
📦 安装指南
安装必要库
pip install transformers datasets evaluate
安装指定版本(可选)
如果需要从源代码安装而不是使用最新版本,可以使用以下命令:
pip install git+https://github.com/huggingface/transformers.git
💻 使用示例
基础用法
加载数据集
from datasets import load_dataset, Audio
minds = load_dataset("PolyAI/minds14", name="en-US", split="train")
minds = minds.train_test_split(test_size=0.2)
minds = minds.remove_columns(["path", "transcription", "english_transcription", "lang_id"])
预处理数据
from transformers import AutoFeatureExtractor
feature_extractor = AutoFeatureExtractor.from_pretrained("facebook/wav2vec2-base")
def preprocess_function(examples):
audio_arrays = [x["array"] for x in examples["audio"]]
inputs = feature_extractor(
audio_arrays, sampling_rate=feature_extractor.sampling_rate, max_length=16000, truncation=True
)
return inputs
encoded_minds = minds.map(preprocess_function, remove_columns="audio", batched=True)
encoded_minds = encoded_minds.rename_column("intent_class", "label")
评估指标
import evaluate
accuracy = evaluate.load("accuracy")
import numpy as np
def compute_metrics(eval_pred):
predictions = np.argmax(eval_pred.predictions, axis=1)
return accuracy.compute(predictions=predictions, references=eval_pred.label_ids)
训练模型
from transformers import AutoModelForAudioClassification, TrainingArguments, Trainer
num_labels = len(id2label)
model = AutoModelForAudioClassification.from_pretrained(
"facebook/wav2vec2-base", num_labels=num_labels, label2id=label2id, id2label=id2label
)
training_args = TrainingArguments(
output_dir="my_awesome_mind_model",
evaluation_strategy="epoch",
save_strategy="epoch",
learning_rate=3e-5,
per_device_train_batch_size=32,
gradient_accumulation_steps=4,
per_device_eval_batch_size=32,
num_train_epochs=10,
warmup_ratio=0.1,
logging_steps=10,
load_best_model_at_end=True,
metric_for_best_model="accuracy",
push_to_hub=True,
)
trainer = Trainer(
model=model,
args=training_args,
train_dataset=encoded_minds["train"],
eval_dataset=encoded_minds["test"],
tokenizer=feature_extractor,
compute_metrics=compute_metrics,
)
trainer.train()
trainer.push_to_hub()
高级用法
推理
# 加载音频文件进行推理,记得根据需要重采样音频文件的采样率以匹配模型的采样率
from transformers import pipeline
# 实例化音频分类管道
classifier = pipeline("audio-classification", model="your_model_name_on_huggingface")
audio_file = "your_audio_file.wav"
result = classifier(audio_file)
print(result)
📚 详细文档
模型描述
用于微调的基础模型:facebook/wav2vec2-base
预期用途与限制
可用于熟悉预训练模型的微调过程,但并非适用于生产环境的模型。
训练和评估数据
训练数据集链接:https://huggingface.co/datasets/PolyAI/minds14 你也可以使用自己的数据,并对其进行预处理以用于训练。
训练过程
训练超参数
训练期间使用了以下超参数:
属性 | 详情 |
---|---|
学习率 | 3e - 05 |
训练批次大小 | 32 |
评估批次大小 | 32 |
随机种子 | 42 |
梯度累积步数 | 4 |
总训练批次大小 | 128 |
优化器 | 使用 OptimizerNames.ADAMW_TORCH,其中 betas=(0.9, 0.999),epsilon = 1e - 08,无额外优化器参数 |
学习率调度器类型 | 线性 |
学习率调度器热身比例 | 0.1 |
训练轮数 | 10 |
训练结果
训练损失 | 轮数 | 步数 | 验证损失 | 准确率 |
---|---|---|---|---|
无日志记录 | 0.8 | 3 | 2.6463 | 0.0619 |
无日志记录 | 1.8 | 6 | 2.6525 | 0.0442 |
无日志记录 | 2.8 | 9 | 2.6524 | 0.0619 |
3.0286 | 3.8 | 12 | 2.6569 | 0.0619 |
3.0286 | 4.8 | 15 | 2.6572 | 0.0531 |
3.0286 | 5.8 | 18 | 2.6546 | 0.0619 |
3.0109 | 6.8 | 21 | 2.6593 | 0.0708 |
3.0109 | 7.8 | 24 | 2.6585 | 0.0531 |
3.0109 | 8.8 | 27 | 2.6569 | 0.0619 |
3.0047 | 9.8 | 30 | 2.6577 | 0.0619 |
框架版本
- Transformers 4.48.2
- Pytorch 2.5.1+cu124
- Datasets 3.2.0
- Tokenizers 0.21.0
🔧 技术细节
在训练过程中,使用了预训练的 facebook/wav2vec2-base
模型,并在 MInDS - 14 数据集上进行微调。通过设置合适的超参数,如学习率、批次大小等,使用 Trainer
类进行训练和评估。在预处理阶段,使用 AutoFeatureExtractor
对音频数据进行处理,确保输入数据的格式符合模型要求。同时,使用 evaluate
库加载准确率指标,在训练过程中对模型性能进行评估。
📄 许可证
本项目采用 Apache - 2.0 许可证。
Mms Lid 126
基于Facebook大规模多语言语音项目微调的语言识别模型,支持126种语言的音频分类
音频分类
Transformers 支持多种语言

M
facebook
2.1M
26
Wav2vec2 Base Finetuned Speech Commands V0.02
Apache-2.0
该模型是基于facebook/wav2vec2-base在speech_commands数据集上微调的语音命令识别模型,准确率达97.59%。
音频分类
Transformers

W
0xb1
1.2M
0
Whisper Medium Fleurs Lang Id
Apache-2.0
基于OpenAI Whisper-medium微调的语音语种识别模型,在FLEURS数据集上达到88.05%准确率
音频分类
Transformers

W
sanchit-gandhi
590.30k
14
Wav2vec2 Large Robust 12 Ft Emotion Msp Dim
该模型通过对Wav2Vec2-Large-Robust进行微调训练,用于语音情感识别,输出唤醒度、支配度和效价三个维度的预测值。
音频分类
Transformers 英语

W
audeering
394.51k
109
Lang Id Voxlingua107 Ecapa
Apache-2.0
基于SpeechBrain框架和ECAPA-TDNN架构的语音语言识别模型,支持107种语言的识别和语音嵌入向量提取。
音频分类
PyTorch 支持多种语言
L
speechbrain
330.01k
112
Ast Finetuned Audioset 10 10 0.4593
Bsd-3-clause
音频频谱图变换器(AST)是基于AudioSet微调的模型,将音频转换为频谱图后应用视觉变换器进行音频分类。
音频分类
Transformers

A
MIT
308.88k
311
Whisper Small Ft Common Language Id
Apache-2.0
基于openai/whisper-small微调的通用语言识别模型,在评估集上准确率达88.6%
音频分类
Transformers

W
sanchit-gandhi
256.20k
2
Emotion Recognition Wav2vec2 IEMOCAP
Apache-2.0
使用微调的wav2vec2模型进行语音情感识别,在IEMOCAP数据集上训练
音频分类
PyTorch 英语
E
speechbrain
237.65k
131
Ast Finetuned Audioset 14 14 0.443
Bsd-3-clause
基于AudioSet数据集微调的音频频谱图变换器,将音频转换为频谱图后使用视觉变换器架构处理,在音频分类任务中表现优异。
音频分类
Transformers

A
MIT
194.20k
5
Wav2vec2 Large Xlsr 53 Gender Recognition Librispeech
Apache-2.0
基于Librispeech-clean-100数据集微调的性别识别模型,在测试集上F1分数达0.9993
音频分类
Transformers

W
alefiury
182.33k
42
精选推荐AI模型
Llama 3 Typhoon V1.5x 8b Instruct
专为泰语设计的80亿参数指令模型,性能媲美GPT-3.5-turbo,优化了应用场景、检索增强生成、受限生成和推理任务
大型语言模型
Transformers 支持多种语言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一个基于SODA数据集训练的超小型对话模型,专为边缘设备推理设计,体积仅为Cosmo-3B模型的2%左右。
对话系统
Transformers 英语

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基于RoBERTa架构的中文抽取式问答模型,适用于从给定文本中提取答案的任务。
问答系统 中文
R
uer
2,694
98