当前位置:   article > 正文

Transformers 库的基本使用_transformers库

transformers库

  本内容主要介绍 Transformers 库 的基本使用。

1.1 Transformers 库简介

  Transformers 库是一个开源库,其提供的所有预训练模型都是基于 transformer 模型结构的。

1.1.1 Transformers 库

  我们可以使用 Transformers 库提供的 API 轻松下载和训练最先进的预训练模型。使用预训练模型可以降低计算成本,以及节省从头开始训练模型的时间。这些模型可用于不同模态的任务,例如:

  • 文本:文本分类、信息抽取、问答系统、文本摘要、机器翻译和文本生成。
  • 图像:图像分类、目标检测和图像分割。
  • 音频:语音识别和音频分类。
  • 多模态:表格问答系统、OCR、扫描文档信息抽取、视频分类和视觉问答。

  Transformers 库支持三个最流行的深度学习库(PyTorch、TensorFlow 和 JAX)。

  相关资源对应网址如下:

网址
库的 GitHub 地址https://github.com/huggingface/transformers
官方开发文档https://huggingface.co/docs/transformers/index
预训练模型下载地址https://huggingface.co/models

1.1.2 Transformers 库支持的模型和框架

  以下表格展示了当前 Transformers 库对各模型的支持情况:

ModelTokenizer slowTokenizer fastPyTorch supportTensorFlow supportFlax support
ALBERT
BART
BEiT
BERT
Bert Generation
BigBird
BigBirdPegasus
Blenderbot
BlenderbotSmall
CamemBERT
Canine
CLIP
ConvBERT
ConvNext
CTRL
Data2VecAudio
Data2VecText
Data2VecVision
DeBERTa
DeBERTa-v2
Decision Transformer
DeiT
DETR
DistilBERT
DPR
DPT
ELECTRA
Encoder decoder
FairSeq Machine-Translation
FlauBERT
Flava
FNet
Funnel Transformer
GLPN
GPT Neo
GPT-J
Hubert
I-BERT
ImageGPT
LayoutLM
LayoutLMv2
LED
Longformer
LUKE
LXMERT
M2M100
Marian
MaskFormer
mBART
MegatronBert
MobileBERT
MPNet
mT5
Nystromformer
OpenAI GPT
OpenAI GPT-2
OPT
Pegasus
Perceiver
PLBart
PoolFormer
ProphetNet
QDQBert
RAG
Realm
Reformer
RegNet
RemBERT
ResNet
RetriBERT
RoBERTa
RoFormer
SegFormer
SEW
SEW-D
Speech Encoder decoder
Speech2Text
Speech2Text2
Splinter
SqueezeBERT
Swin
T5
TAPAS
TAPEX
Transformer-XL
TrOCR
UniSpeech
UniSpeechSat
VAN
ViLT
Vision Encoder decoder
VisionTextDualEncoder
VisualBert
ViT
ViTMAE
Wav2Vec2
WavLM
XGLM
XLM
XLM-RoBERTa
XLM-RoBERTa-XL
XLMProphetNet
XLNet
YOLOS

注意:Tokenizer slow:使用 Python 实现 tokenization 过程。Tokenizer fast:基于 Rust 库 Tokenizers 进行实现。


1.2 Pipeline

  pipeline() 的作用是使用预训练模型进行推断,它支持从 这里 下载的所有模型。

1.2.1 Pipeline 支持的任务类型

  pipeline() 支持许多常见任务:

  • 文本
    • 情感分析(Sentiment analysis)
    • 文本生成(Text generation)
    • 命名实体识别(Name entity recognition,NER):
    • 问答系统(Question answering)
    • 掩码恢复(Fill-mask)
    • 文本摘要(Summarization)
    • 机器翻译(Translation)
    • 特征提取(Feature extraction)
  • 图像
    • 图像分类(Image classification)
    • 图像分割(Image segmentation)
    • 目标检测(Object detection)
  • 音频
    • 音频分类(Audio classification)
    • 自动语音识别(Automatic speech recognition,ASR)

注意:可以在 Transformers 库的源码(查看 Transformers/pipelines/__init__.py 中的 SUPPORTED_TASKS 定义)中查看其支持的任务,不同版本支持的类型会存在差异。


1.2.2 Pipeline 使用

(1)简单使用

  例如,当前我们需要进行一个情感分析的推断任务。我们可以直接使用如下代码:

from transformers import pipeline


classifier = pipeline("sentiment-analysis")
result = classifier("We are very happy to show you the 
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/843581
推荐阅读
相关标签