Huggingface Transformers简约教程(一)

写在前面:

致敬所有前辈:
① 知乎上的transformers 教程
② 博客园上的Colab 使用教程
③ huggingface 官网

1 Huggingface Transformers 简介

Huggingface Transformers 是基于一个开源基于 transformer 模型结构提供的预训练语言库,它支持 Pytorch,Tensorflow2.0,并且支持两个框架的相互转换。框架支持了最新的各种NLP预训练语言模型,使用者可以很快速的进行模型的调用,并且支持模型further pretraining 和 下游任务fine-tuning。
该库是使用 BERT 等预训练模型的最常用的库,甚至超过了google等开源的源代码。它的设计原则保证了它支持各种不同的预训练模型,并且有统一的合理的规范。使用者可以很方便的进行模型的下载,以及使用。同时,它支持用户自己上传自己的预训练模型到Model Hub中,提供其他用户使用。对于NLP从业者,可以使用这个库,很方便地进行自然语言理解(NLU) 和 自然语言生成(NLG)任务的SOTA模型使用。
特点:
1.超级 简单,快速上手
2.适合于所有人 - NLP研究员,NLP应用人员,教育工作者
3.NLU/NLG SOTA 模型支持
4.减少预训练成本,提供了30+预训练模型,100+语言 - 支持Pytorch 与 Tensorflow2.0 转换。

2 Transformers 中模型的类型

Huggingface Transformers简约教程(一)_第1张图片
Huggingface Transformers简约教程(一)_第2张图片点击看更多模型。

3 应用领域

第一种 text
Huggingface Transformers简约教程(一)_第3张图片
第二种 图像
Huggingface Transformers简约教程(一)_第4张图片
第三种 影像
Huggingface Transformers简约教程(一)_第5张图片

4 installation

四种方法:

① Install with pip

pip install transformers
pip install transformers[torch]    (仅仅cpu)

② Install from source

pip install git+https://github.com/huggingface/transformers

③ Editable install

④ Install with conda

conda install -c huggingface transformers

安装之后测试一下:

python -c "from transformers import pipeline; print(pipeline('sentiment-analysis')('we love you'))"

结果是这样的

[{'label': 'POSITIVE', 'score': 0.9998704791069031}]

5 离线使用

有三种方式可以实现脱机使用,这里介绍最常用的一种:
Use the PreTrainedModel.from_pretrained() and PreTrainedModel.save_pretrained() workflow:

①Download your files ahead of time with PreTrained Model.from_pretrained()

from transformers import AutoTokenizer, AutoModelForSeq2SeqLM

tokenizer = AutoTokenizer.from_pretrained("bigscience/T0_3B")
model = AutoModelForSeq2SeqLM.from_pretrained("bigscience/T0_3B")

②Save your files to a specified directory with PreTrainedModel.save_pretrained():

tokenizer.save_pretrained("./your/path/bigscience_t0")
model.save_pretrained("./your/path/bigscience_t0")

③Now when you’re offline, reload your files with PreTrainedModel.from_pretrained() from the specified directory:

tokenizer = AutoTokenizer.from_pretrained("./your/path/bigscience_t0")
model = AutoModel.from_pretrained("./your/path/bigscience_t0")

你可能感兴趣的:(pytorch,深度学习,python)