0

我正在尝试从预训练的“DistilBERT”模型的几个不同层访问输出嵌入。(“distilbert-base-uncased”)

bert_output = model(input_ids, attention_mask=attention_mask)

bert_output 似乎只返回输入标记的最后一层的嵌入值。

4

1 回答 1

4

如果要获取所有隐藏层的输出,则需要将output_hidden_states=Truekwarg 添加到配置中。

你的代码看起来像

from transformers import DistilBertModel, DistilBertConfig

config = DistilBertConfig.from_pretrained('distilbert-base-cased', output_hidden_states=True)
model = DistilBertModel.from_pretrained('distilbert-base-cased', config=config)

隐藏层将作为bert_output[2]

于 2020-03-20T19:16:29.960 回答