isl*_*287 16 nlp pytorch bert-language-model electrate huggingface-transformers
\n\n\n返回last_hidden_state(torch.FloatTensor,形状为(batch_size,\n sequence_length,hidden_size)):模型最后一层输出的隐藏状态序列。
\n\npooler_output (torch.FloatTensor: of shape (batch_size, hide_size)):\n 序列第一个标记的最后一层隐藏状态\n(分类标记)由线性层和 Tanh\n 激活函数进一步处理。线性层权重是在预训练期间根据下一个句子预测(分类)目标进行训练的。
\n\n此输出通常不是输入语义内容的良好摘要,对整个输入序列的隐藏状态序列进行平均或池化通常会更好。
\n\nhidden_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
这是来自https://huggingface.co/transformers/model_doc/bert.html#bertmodel。虽然文档中描述的很清楚,但是我还是不明白returns的hidden_states。有一个元组,一个用于嵌入的输出,另一个用于每一层的输出。\n请告诉我如何区分它们,或者它们的含义是什么?非常感谢!![眨眼~
\nMoh*_*fin 21
hidden_states (tuple(torch.FloatTensor),可选,当 config.output_hidden_states=True 时返回):形状(batch_size、sequence_length、hidden_size)的 torch.FloatTensor 的元组(一个用于嵌入的输出,一个用于每一层的输出) )。
每层输出处模型的隐藏状态加上初始嵌入输出。
对于给定的标记,其输入表示是通过对相应的标记嵌入、分段嵌入和位置嵌入求和来构造的。该输入表示称为初始嵌入输出,可以在index 0
元组hidden_states中找到。该图解释了如何计算嵌入。
元组中剩余的 12 个元素包含相应隐藏层的输出。例如:最后一个隐藏层可以在 处找到index 12
,它是元组中的第13 项。初始嵌入输出和隐藏状态的维度均为[batch_size, sequence_length, hidden_size]
。将hidden_states的索引自下而上与 BERT 论文中的图像进行比较会很有用。
小智 5
last_hidden_state
包含批次的每个序列中每个标记的隐藏表示。所以尺寸是(batch_size, seq_len, hidden_size)
. 您可以参考CLS 隐藏状态和 pooled_output 之间的差异以获得更多说明。
归档时间: |
|
查看次数: |
21363 次 |
最近记录: |