欢迎访问宙启技术站
智能推送

通过transformers.BertTokenizerfrom_pretrained()方法在Python中预加载中文模型

发布时间:2023-12-23 18:15:44

以下是在Python中使用transformers库中的BertTokenizerfrom_pretrained()方法预加载中文模型的示例代码:

from transformers import BertTokenizer

# 加载预训练的中文Bert模型
tokenizer = BertTokenizer.from_pretrained("bert-base-chinese")

# 测试句子
text = "这是一个测试句子。"

# 使用tokenizer对句子进行分词和编码
encoded_input = tokenizer.encode_plus(
    text,
    add_special_tokens=True,  #添加特殊标记(如[CLS]和[SEP])
    max_length=512,  # 最大长度
    padding="max_length",  # 填充到最大长度
    truncation=True, # 截断到最大长度
    return_attention_mask=True, # 返回注意力掩码
    return_tensors="pt" # 返回PyTorch张量
)

# 打印编码后的结果
print(encoded_input)

这段代码中,首先通过BertTokenizer.from_pretrained()方法加载了预训练的中文Bert模型。然后,定义了一个需要测试的句子text

接下来,使用tokenizer.encode_plus()方法将句子进行分词和编码。add_special_tokens=True参数表示在句子的开头和结尾添加特殊标记(如[CLS]和[SEP])。max_length=512表示最大长度为512个字符。padding="max_length"表示将句子填充到最大长度,不足的部分会用特殊的填充标记来填充。truncation=True表示如果句子超过了最大长度,则会被截断。return_attention_mask=True表示返回注意力掩码,用于指示哪些部分是填充的。return_tensors="pt"表示返回PyTorch张量。

最后,打印了编码后的结果,该结果将包含输入句子的编码、注意力掩码和类型标签等信息。

注意,预加载的模型权重将自动下载并缓存到本地机器,因此需要联网才能成功下载模型权重。