使用Transformers离线模型(以bert模型为例)
首先需要安装transformers:pip install transformers
以bert-base-uncased为例,进入网站:,可以看到这个模型的所有文件,包括使用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])
运行成功即可
上一篇:
JS实现多线程数据分片下载