【问题标题】:Access the output of several layers of pretrained DistilBERT model访问几层预训练 DistilBERT 模型的输出
【发布时间】:2020-03-20 19:02:08
【问题描述】:

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

bert_output = model(input_ids, attention_mask=attention_mask)

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

【问题讨论】:

    标签: python nlp pytorch bert-language-model huggingface-transformers


    【解决方案1】:

    如果你想得到所有隐藏层的输出,你需要将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] 的形式提供

    【讨论】:

      猜你喜欢
      • 2018-12-27
      • 2019-08-15
      • 2022-08-10
      • 1970-01-01
      • 2020-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-18
      相关资源
      最近更新 更多