首先需要安装transformers:pip install transformers
以bert-base-uncased
为例,进入网站:https://huggingface.co/bert-base-uncased/tree/main,可以看到这个模型的所有文件,包括使用pytorch与tensorflow的模型。
我是用的是pytorch
,因此下载这里的3个文件:
- config.json
- pytorch_model.bin
- vocab.txt
把它们放在同一个文件夹中,然后写一个测试小demo:
from transformers import BertModel, BertTokenizer
import torch
MODEL_PATH = './my_bert_model' # 装着上面3个文件的文件夹位置
tokenizer = BertTokenizer.from_pretrained(pretrained_model_name_or_path=MODEL_PATH)
text = 'Follow their code on GitHub. Ha'
indexed_tokens = tokenizer.encode(text) # 对文本编码
tokens_tensor = torch.tensor([indexed_tokens]) # 文本编码转tensor
model = BertModel.from_pretrained(MODEL_PATH) # 读取预训练模型
# 下面按照pytorch模型来验证这个结果
model.eval()
with torch.no_grad():
outputs = model(tokens_tensor)
print(outputs[0].shape) # shape = torch.Size([1, 11, 768])
print(outputs[0])
运行成功即可