【发布时间】:2020-07-05 21:46:32
【问题描述】:
是transformers pytorch库文档中给出的例子
from transformers import BertTokenizer, BertForTokenClassification
import torch
tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
model = BertForTokenClassification.from_pretrained('bert-base-uncased',
output_hidden_states=True, output_attentions=True)
input_ids = torch.tensor(tokenizer.encode("Hello, my dog is cute",
add_special_tokens=True)).unsqueeze(0) # Batch size 1
labels = torch.tensor([1] * input_ids.size(1)).unsqueeze(0) # Batch size 1
outputs = model(input_ids, labels=labels)
loss, scores, hidden_states,attentions = outputs
这里的hidden_states 是一个长度为 13 的元组,包含模型在每一层输出的隐藏状态以及初始嵌入输出。我想知道,hidden_states[0] 还是 hidden_states[12] 代表最终的隐藏状态向量?
【问题讨论】:
-
您能指定您使用的是哪个版本的拥抱脸转换器吗?对于 2.6 版,我只会为您的示例代码获得两个输出。
-
我在加载模型时忘记指定
output_hidden_states=True和output_attentions=True。对不起。当您包含这两个参数时,它将返回四个输出。 @dennlinger
标签: nlp pytorch huggingface-transformers bert-language-model