bert模型的输出可以包括四个:
- last_hidden_state:
torch.FloatTensor
类型的,最后一个隐藏层的序列的输出。大小是(batch_size, sequence_length, hidden_size)
sequence_length是我们截取的句子的长度,hidden_size是768. - pooler_output:
torch.FloatTensor
类型的,[CLS]的这个token的输出,输出的大小是(batch_size, hidden_size)
- hidden_states :
tuple(torch.FloatTensor)
这是输出的一个可选项,如果输出,需要指定config.output_hidden_states=True,它也是一个元组,它的第一个元素是embedding,其余元素是各层的输出,每个元素的形状是(batch_size, sequence_length, hidden_size)
- attentions:这也是输出的一个可选项,如果输出,需要指定
config.output_attentions=True
,它也是一个元组,它的元素是每一层的注意力权重,用于计算self-attention heads的加权平均值