我正在尝试从预训练的“ DistilBERT”模型的几个不同层访问输出嵌入。 (“ distilbert-base-uncased”)
bert_output = model(input_ids, attention_mask=attention_mask)
bert_output似乎仅返回输入令牌的最后一层的嵌入值。
答案 0 :(得分:2)
如果要获取所有隐藏层的输出,则需要在配置中添加output_hidden_states=True
kwarg。
您的代码将类似于
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]
的形式可用