Bert 在进行推理时,不需要使用 padding 参数。下面给出一个使用 Bert 进行推理的示例代码:
import torch
from transformers import BertTokenizer, BertModel
# 实例化 tokenizer 和模型
tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
model = BertModel.from_pretrained('bert-base-uncased')
# 输入文本
text = "This is a sample input for inference using BERT."
# 对文本进行编码,并转换为 tensor 格式
inputs = tokenizer(text, padding=True, truncation=True, return_tensors='pt')
# 前向传播计算,并获取输出
with torch.no_grad():
outputs = model(**inputs)
# 获取最后一层的输出 embedding
last_hidden_state = outputs.last_hidden_state
# 打印输出结果
print(last_hidden_state)
可以看到,在进行推理时,并没有对 padding 进行设置,而是直接通过 padding=True
和 truncation=True
将输入文本进行编码。最后获得的输出结果 last_hidden_state
是一个张量,包含了输入文本的编码表示。