小编isl*_*287的帖子

如何理解 BertModel 中返​​回的隐藏状态?(huggingface-transformers)

\n

返回last_hidden_​​state(torch.FloatTensor,形状为(batch_size,\n sequence_length,hidden_​​size)):模型最后一层输出的隐藏状态序列。

\n\n

pooler_output (torch.FloatTensor: of shape (batch_size, hide_size)):\n 序列第一个标记的最后一层隐藏状态\n(分类标记)由线性层和 Tanh\n 激活函数进一步处理。线性层权重是在预训练期间根据下一个句子预测(分类)目标进行训练的。

\n\n

此输出通常不是输入语义内容的良好摘要,对整个输入序列的隐藏状态序列进行平均或池化通常会更好。

\n\n

hidden_​​states(tuple(torch.FloatTensor),可选,当 config.output_hidden_​​states=True 时返回):形状的 torch.FloatTensor 元组(一个用于\n 嵌入的输出 + 一个用于\n 每层的输出) (批量大小、序列长度、隐藏大小)。

\n\n

每层输出处模型的隐藏状态加上初始嵌入输出。

\n\n

注意(tuple(torch.FloatTensor),可选,当 config.output_attentions=True 时返回):torch.FloatTensor 的元组(每层一个),形状(batch_size、num_heads、sequence_length、sequence_length)。

\n\n

注意力权重位于注意力softmax之后,用于计算自注意力头中的加权平均值。

\n
\n\n

这是来自https://huggingface.co/transformers/model_doc/bert.html#bertmodel。虽然文档中描述的很清楚,但是我还是不明白returns的hidden_​​states。有一个元组,一个用于嵌入的输出,另一个用于每一层的输出。\n请告诉我如何区分它们,或者它们的含义是什么?非常感谢!![眨眼~

\n

nlp pytorch bert-language-model electrate huggingface-transformers

16
推荐指数
3
解决办法
2万
查看次数