【发布时间】:2021-11-14 20:41:42
【问题描述】:
我正在尝试使用我自己的数据集从预训练的 wav2vec2 模型(例如,来自 jonatasgrosman/wav2vec2-large-xlsr-53-german)中获取嵌入。
我的目标是将这些功能用于下游任务(不是专门的语音识别)。也就是说,由于数据集相对较小,我将使用这些嵌入训练一个 SVM 以进行最终分类。
到目前为止,我已经尝试过:
model_name = "facebook/wav2vec2-large-xlsr-53-german"
feature_extractor = Wav2Vec2Processor.from_pretrained(model_name)
model = Wav2Vec2Model.from_pretrained(model_name)
input_values = feature_extractor(train_dataset[:10]["speech"], return_tensors="pt", padding=True,
feature_size=1, sampling_rate=16000 ).input_values
那么,我不确定这里的embeddings是否对应last_hidden_states的序列:
hidden_states = model(input_values).last_hidden_state
或模型最后一个卷积层的特征序列:
features_last_cnn_layer = model(input_values).extract_features
另外,这是从预训练模型中提取特征的正确方法吗?
如何从特定层获得嵌入?
PD:在 HuggingFace 的论坛上发帖似乎不太活跃。
【问题讨论】:
标签: python huggingface-transformers pre-trained-model