当前位置:   article > 正文

Transformers库简单使用_transformer库的使用

transformer库的使用

Transformers库也叫(pytorch-transformers and pytorch-pretrained-bert),提供了很多SOTA的预训练模型,比如BERT, GPT-2, RoBERTa, XLM, DistilBert, XLNet, CTRL…

这个库比上一篇博客中讲的 pytorch-pretrained-bert库更完整,bert的使用方法略有不同,不需要自己手动去下载模型和词表这两个东西了,第一次运行的时候程序会自动下载,同时forward函数里也没有output_all_encoded_layers这个参数了,默认返回的就是最后一层的所有token的embedding和cls字符的embedding

比如Bert的简单使用:

from transformers import BertModel, BertTokenizer
import numpy as np
import torch

### 1. 这种方式是不需要手动下载模型文件,在网速快的时候使用
tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
bert = BertModel.from_pretrained('bert-base-uncased')
### 2. 这种方式是需要手动下载模型文件,网速慢使用,推荐使用第2种。
tokenizer = BertTokenizer.from_pretrained('E:/Projects/bert-base-uncased/bert-base-uncased-vocab.txt')
bert = BertModel.from_pretrained('E:/Projects/bert-base-uncased/bert-base-uncased/')

s = "I'm not sure, this can work, lol -.-"

# tokens = tokenizer.tokenize(s)
# tokens = ["[CLS]"] + tokens + ["[SEP]"]
# ids1 = torch.tensor([tokenizer.convert_tokens_to_ids(tokens)])
# print(ids1)

# 上面三行代码也可以用这一行来代替
ids2 = torch.tensor([tokenizer.encode(s, add_special_tokens=True)])
print(ids2)


result = bert(ids2)
print(result)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

更具体的细节可以看官网Transformers
Github地址在这

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/469232
推荐阅读
相关标签
  

闽ICP备14008679号