模型:
facebook/mms-lid-1024
该检查点是针对语言识别(LID)进行微调的模型,属于Facebook的 Massive Multilingual Speech project 。该检查点基于 Wav2Vec2 architecture ,并将原始音频输入分类为1024个输出类别(每个类别代表一种语言)。该检查点有100亿个参数,并从 facebook/mms-1b 对1024种语言进行了微调。
此MMS检查点可以与 Transformers 一起用于识别音频的语言。它可以识别以下1024种语言。
来看一个简单的示例。
首先,我们安装transformers和其他一些库
pip install torch accelerate torchaudio datasets pip install --upgrade transformers
注意:为了使用MMS,您需要至少安装transformers >= 4.30版本。如果4.30版本尚不可用,请确保从源代码安装transformers:
pip install git+https://github.com/huggingface/transformers.git
接下来,我们通过datasets加载一些音频样本。确保音频数据采样率为16000 kHz。
from datasets import load_dataset, Audio # English stream_data = load_dataset("mozilla-foundation/common_voice_13_0", "en", split="test", streaming=True) stream_data = stream_data.cast_column("audio", Audio(sampling_rate=16000)) en_sample = next(iter(stream_data))["audio"]["array"] # Arabic stream_data = load_dataset("mozilla-foundation/common_voice_13_0", "ar", split="test", streaming=True) stream_data = stream_data.cast_column("audio", Audio(sampling_rate=16000)) ar_sample = next(iter(stream_data))["audio"]["array"]
然后,我们加载模型和处理器
from transformers import Wav2Vec2ForSequenceClassification, AutoFeatureExtractor import torch model_id = "facebook/mms-lid-1024" processor = AutoFeatureExtractor.from_pretrained(model_id) model = Wav2Vec2ForSequenceClassification.from_pretrained(model_id)
现在我们处理音频数据,将处理后的音频数据传递给模型进行语言分类,就像我们通常对Wav2Vec2音频分类模型(如 ehcalabres/wav2vec2-lg-xlsr-en-speech-emotion-recognition )一样
# English inputs = processor(en_sample, sampling_rate=16_000, return_tensors="pt") with torch.no_grad(): outputs = model(**inputs).logits lang_id = torch.argmax(outputs, dim=-1)[0].item() detected_lang = model.config.id2label[lang_id] # 'eng' # Arabic inputs = processor(ar_sample, sampling_rate=16_000, return_tensors="pt") with torch.no_grad(): outputs = model(**inputs).logits lang_id = torch.argmax(outputs, dim=-1)[0].item() detected_lang = model.config.id2label[lang_id] # 'ara'
要查看检查点支持的所有语言,请按以下方式打印语言id:
processor.id2label.values()
有关架构的更多详细信息,请参阅 the official docs
此模型支持1024种语言。单击以下链接以查看 ISO 639-3 code 中此检查点的所有支持的语言。您可以在 MMS Language Coverage Overview 中找到有关语言及其ISO 649-3代码的更多详细信息。
单击切换开/关