Transformers库简单使用

38 篇文章 3 订阅
13 篇文章 1 订阅

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)

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值