transformer参数

pipelines

transformers.pipeline(task: str, 
					  model: Optional = None, 
					  config: Optional[Union[str, transformers.configuration_utils.PretrainedConfig]] = None, 
					  tokenizer: Optional[Union[str, transformers.tokenization_utils.PreTrainedTokenizer]] = None, 
					  framework: Optional[str] = None, 
					  revision: Optional[str] = None, 
					  use_fast: bool = True, **kwargs) → transformers.pipelines.base.Pipeline

参数说明

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

>>> from transformers import pipeline, AutoModelForTokenClassification, AutoTokenizer

>>> # Sentiment analysis pipeline
>>> pipeline('sentiment-analysis')

>>> # Question answering pipeline, specifying the checkpoint identifier
>>> pipeline('question-answering', model='distilbert-base-cased-distilled-squad', tokenizer='bert-base-cased')

>>> # Named entity recognition pipeline, passing in a specific model and tokenizer
>>> model = AutoModelForTokenClassification.from_pretrained("dbmdz/bert-large-cased-finetuned-conll03-english")
>>> tokenizer = AutoTokenizer.from_pretrained("bert-base-cased")
>>> pipeline('ner', model=model, tokenizer=tokenizer)

Bert常用预训练模型

在这里插入图片描述
在这里插入图片描述

使用transformer库的三种方法:

使用pipeline

指定预训练模型

使用 AutoModels 加载预训练模型。

在官方文档中**,bert的tokenizer有BertTokenizer, BertTokenizerFast。我比较推荐使用BertTokenizerFast。理由很简单,虽然中文bert是基于char级别实**现的,可是对于数字、英文,完全拆分成[0-9a-zA-Z]的字符则完全没有任何意义。因此再做Tokennize的时候,我们需要知道哪些字符被tokenize到了一个input_id上,这样我们在做NER预测的时候,才能知道边界应该切在哪个位置。这种映射我们统一称为offset先。(当然如果是做分类或者seq2seq的时候,offset就不是那么必须的)。
BertTokenizerFast可以在帮助我们完成tokennize的同时输出我们需要的offset,就不用我们在寻找一遍映射关系了

from transformers import BertTokenizerFast
tokenizer = BertTokenizerFast.from_pretrained('bert-base-chinese')
# 可以按照最大长度进行截断,但是貌似不能自动做padding。并且会在开头和结尾添加[CLS]和[SEP]的tag
# tokens:{
#     "input_ids": list [batch_size,id*(length+2)] 
#     "attention_mask": [batch_size, [1]*(length+2)]
#     "token_type_ids": [batch_size,[0]*(length+2)]
#     "offset_mapping": [[0,0],[begin_index,end_index]*length,[0,0]]
tokens = tokenizer(string_list, 
                   return_offsets_mapping=True,
                   max_length=max_seq_length, 
                   truncation=True)

get_linear_schedule_with_warmup

在这里插入图片描述在这里插入图片描述

经验

慢慢的将transformer库的各种参数都将其搞定

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

big_matster

您的鼓励,是给予我最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值