使用Transformers离线模型(以bert模型为例)

首先需要安装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])

运行成功即可

你可能感兴趣的:(pytorch/神经网络,bert,深度学习,tensorflow)