Transformer 快速入手get start


https://huggingface.co/transformers/quicktour.html
在transformer官网,的快速入手中,会提供些pipeline,封装了些实例,让我们快速上手,只需要简单的调用就能实现,分词,命名实体识别。

from transformers import pipeline
classifier = pipeline('sentiment-analysis')

classifier('We are very happy to show you the 🤗 Transformers library.')

得到[{'label': 'POSITIVE', 'score': 0.9997795224189758}]

1.pretrained models

模型model和分词器tokenizer的创建用到了from_pretrained 方法

from transformers import AutoTokenizer, AutoModelForSequenceClassification
model_name = "distilbert-base-uncased-finetuned-sst-2-english"
pt_model = AutoModelForSequenceClassification.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)

首先使用tokenizers对语料进行分词,分词规则跟预训练时所使用的分词规则要一致,分词后得到一个个tokens

第二步,将tokens转化为数字,这样才能传输进模型中,要做到这步,分词器tokenizers有个词汇表,通过from_pretrained实例化得到。这个词汇表跟与训练模型时用到的词汇表是一样的。将tokens转化为数字可以进行如下操作

inputs = tokenizer("We are very happy to show you the 🤗 Transformers library.")

在这里插入图片描述
也可以传进去一个句子列表,如果你的目的是将一系列句子作为一个batch传进模型中,你可能要将这些句子补长(padding)和截断(truncate)到模型所定的最大长度。

pt_batch = tokenizer(
    ["We are very happy to show you the 🤗 Transformers library.", "We hope you don't hate it."],
    padding=True,
    truncation=True,
    return_tensors="pt"
)

进行补长padding操作后,会根据模型默认地对句子进行补偿,注意力掩码attention mask也会自动将补长地部分标注为0

for key, value 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值