model = BertModel.from_pretrained('bert-base-uncased', config=BertConfig.from_pretrained('bert-base-uncased',output_hidden_states=True))
outputs = model(input_ids)
hidden_states = outputs[2]
hidden_states是13个torch.FloatTensors
的元组。每个张量的大小为:(batch_size, sequence_length, hidden_size)
。根据文档,13个张量是嵌入和12个编码层的隐藏状态。
我的问题是:
hidden_states[0]
是嵌入层,而hidden_states[12]
是第12个编码层,还是
hidden_states[0]
是嵌入层,而hidden_states[12]
是第一个编码层,还是
hidden_states[0]
是第12个编码层,而hidden_states[12]
是嵌入层,还是
hidden_states[0]
是第一个编码层,而hidden_states[12]
是嵌入层吗
我在其他任何地方都没有发现这一点。
发布于 2020-04-16 19:28:25
查看BertModel的source-code,可以得出结论,hidden_states包含初始嵌入层的输出,元组中的其余元素按每层的递增顺序包含隐藏状态。简单地说,hidden_states1包含第一层BERT的输出,而hidden_states12包含最后一层,即第12层。
https://stackoverflow.com/questions/61227950
复制相似问题