BertModel transformers输出的是张量,而不是字符串。下面是一个示例,显示如何使用BertModel获取输出张量:
from transformers import BertModel, BertTokenizer
import torch
# 加载Bert模型和tokenizer
model_name = 'bert-base-uncased'
tokenizer = BertTokenizer.from_pretrained(model_name)
model = BertModel.from_pretrained(model_name)
# 输入文本
text = "Hello, how are you?"
# 使用tokenizer将文本转换为输入张量
input_ids = tokenizer.encode(text, add_special_tokens=True)
input_ids = torch.tensor(input_ids).unsqueeze(0) # 添加batch维度
# 获取Bert模型的输出张量
outputs = model(input_ids)
# 获取最后一层的隐藏状态
last_hidden_state = outputs.last_hidden_state
在这个示例中,我们首先加载了Bert模型和tokenizer。然后,我们使用tokenizer将输入文本转换为输入张量。接下来,我们将输入张量传递给Bert模型,并获取模型的输出。最后,我们可以通过访问outputs.last_hidden_state
获取最后一层的隐藏状态张量。
请注意,Bert模型的输出张量的形状可能会有所不同,具体取决于模型的配置。上面的示例仅仅是演示如何获取Bert模型的输出张量。