访问几层预训练的DistilBERT模型的输出

问题描述 投票:0回答:1

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

bert_output = model(input_ids, attention_mask=attention_mask)

bert_output似乎仅返回输入令牌的最后一层的嵌入值。

python nlp pytorch bert huggingface-transformers
1个回答
0
投票

如果要获取所有隐藏层的输出,则需要在配置中添加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]的形式提供>

© www.soinside.com 2019 - 2024. All rights reserved.