You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法加载facebook/wav2vec2-large-xlsr-53的Tokenizer,如何使用该模型?

解决Wav2Vec2(XLSR模型)加载Tokenizer失败的问题

错误原因

facebook/wav2vec2-large-xlsr-53是多语言基础预训练模型,未内置适配的Tokenizer,因此直接加载Processor会触发加载失败的错误。

两种可行解决方案

方案1:手动指定Tokenizer类

分别初始化Tokenizer和特征提取器,再组合成Processor,代码如下:

import transformers
from transformers import Wav2Vec2ForCTC, Wav2Vec2Processor, Wav2Vec2CTCTokenizer, Wav2Vec2FeatureExtractor
import librosa
import torch

# 加载Tokenizer和特征提取器
tokenizer = Wav2Vec2CTCTokenizer.from_pretrained("facebook/wav2vec2-large-xlsr-53")
feature_extractor = Wav2Vec2FeatureExtractor.from_pretrained("facebook/wav2vec2-large-xlsr-53")
# 组合为Processor
processor = Wav2Vec2Processor(feature_extractor=feature_extractor, tokenizer=tokenizer)
model = Wav2Vec2ForCTC.from_pretrained("facebook/wav2vec2-large-xlsr-53")

# 处理音频并生成预测
file_name = "test.wav"
speech, sr = librosa.load(file_name, sr=16000)
input_values = processor(speech, sampling_rate=16000, return_tensors="pt").input_values

logits = model(input_values).logits
# 转换为可读文本
predicted_ids = torch.argmax(logits, dim=-1)
transcription = processor.decode(predicted_ids[0])
print(transcription)

方案2:使用目标语言微调后的XLSR模型

针对特定语言(如中文、英文),使用已微调好的XLSR衍生模型,这类模型自带适配的Tokenizer,无需手动配置。以中文为例:

import transformers
from transformers import Wav2Vec2ForCTC, Wav2Vec2Processor
import librosa
import torch

# 加载中文微调的XLSR模型
processor = Wav2Vec2Processor.from_pretrained("jonatasgrosman/wav2vec2-large-xlsr-53-chinese-zh-cn")
model = Wav2Vec2ForCTC.from_pretrained("jonatasgrosman/wav2vec2-large-xlsr-53-chinese-zh-cn")

# 处理音频并生成预测
file_name = "test.wav"
speech, sr = librosa.load(file_name, sr=16000)
input_values = processor(speech, sampling_rate=16000, return_tensors="pt").input_values

logits = model(input_values).logits
# 转换为中文文本
predicted_ids = torch.argmax(logits, dim=-1)
transcription = processor.decode(predicted_ids[0])
print(transcription)

注意事项

  • 确保输入音频为16kHz采样率的单声道音频,符合Wav2Vec2的输入要求
  • 建议升级transformers库到最新版本,避免版本兼容问题:pip install --upgrade transformers
  • 使用基础模型时,转录结果可能需要根据目标语言做后处理,因为基础模型的词表是多语言通用的

内容的提问来源于stack exchange,提问作者user3668129

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 02:00:34