#
🤗 Transformers简介

为 PyTorch、TensorFlow 和 JAX 打造的先进的机器学习工具.

🤗 Transformers 提供了可以轻松地下载并且训练先进的预训练模型的 API 和工具。使用预训练模型可以减少计算消耗和碳排放，并且节省从头训练所需要的时间和资源。这些模型支持不同模态中的常见任务，比如：

📝 自然语言处理：文本分类、命名实体识别、问答、语言建模、摘要、翻译、多项选择和文本生成。
🖼️ 机器视觉：图像分类、目标检测和语义分割。
🗣️ 音频：自动语音识别和音频分类。
🐙 多模态：表格问答、光学字符识别、从扫描文档提取信息、视频分类和视觉问答。

🤗 Transformers 支持在 PyTorch、TensorFlow 和 JAX 上的互操作性. 这给在模型的每个阶段使用不同的框架带来了灵活性；在一个框架中使用几行代码训练一个模型，然后在另一个框架中加载它并进行推理。模型也可以被导出为 ONNX 和 TorchScript 格式，用于在生产环境中部署。

马上加入在 Hub、论坛 或者 Discord 上正在快速发展的社区吧！

##
如果你需要来自 Hugging Face 团队的个性化支持

##
目录

这篇文档由以下 5 个章节组成：

- 开始使用 包含了库的快速上手和安装说明，便于配置和运行。

- 教程 是一个初学者开始的好地方。本章节将帮助你获得你会用到的使用这个库的基本技能。

- 操作指南 向你展示如何实现一个特定目标，比如为语言建模微调一个预训练模型或者如何创造并分享个性化模型。

- 概念指南 对 🤗 Transformers 的模型，任务和设计理念背后的基本概念和思想做了更多的讨论和解释。

- API 介绍 描述了所有的类和函数：

  - 主要类别 详述了配置（configuration）、模型（model）、分词器（tokenizer）和流水线（pipeline）这几个最重要的类。
  - 模型 详述了在这个库中和每个模型实现有关的类和函数。
  - 内部帮助 详述了内部使用的工具类和函数。

###
支持的模型和框架

下表展示了库中对每个模型的支持情况，如是否具有 Python 分词器（表中的“Tokenizer slow”）、是否具有由 🤗 Tokenizers 库支持的快速分词器（表中的“Tokenizer fast”）、是否支持 Jax（通过 Flax）、PyTorch 与 TensorFlow。

模型 | PyTorch 支持 | TensorFlow 支持 | Flax 支持
--- | --- | --- | ---
ALBERT | ✅ | ✅ | ✅
ALIGN | ✅ | ❌ | ❌
AltCLIP | ✅ | ❌ | ❌
Audio Spectrogram Transformer | ✅ | ❌ | ❌
Autoformer | ✅ | ❌ | ❌
Bark | ✅ | ❌ | ❌
BART | ✅ | ✅ | ✅
BARThez | ✅ | ✅ | ✅
BARTpho | ✅ | ✅ | ✅
BEiT | ✅ | ❌ | ✅
BERT | ✅ | ✅ | ✅
Bert Generation | ✅ | ❌ | ❌
BertJapanese | ✅ | ✅ | ✅
BERTweet | ✅ | ✅ | ✅
BigBird | ✅ | ❌ | ✅
BigBird-Pegasus | ✅ | ❌ | ❌
BioGpt | ✅ | ❌ | ❌
BiT | ✅ | ❌ | ❌
Blenderbot | ✅ | ✅ | ✅
BlenderbotSmall | ✅ | ✅ | ✅
BLIP | ✅ | ✅ | ❌
BLIP-2 | ✅ | ❌ | ❌
BLOOM | ✅ | ❌ | ✅
BORT | ✅ | ✅ | ✅
BridgeTower | ✅ | ❌ | ❌
BROS | ✅ | ❌ | ❌
ByT5 | ✅ | ✅ | ✅
CamemBERT | ✅ | ✅ | ❌
CANINE | ✅ | ❌ | ❌
Chinese-CLIP | ✅ | ❌ | ❌
CLAP | ✅ | ❌ | ❌
CLIP | ✅ | ✅ | ✅
CLIPSeg | ✅ | ❌ | ❌
CLVP | ✅ | ❌ | ❌
CodeGen | ✅ | ❌ | ❌
CodeLlama | ✅ | ❌ | ✅
Conditional DETR | ✅ | ❌ | ❌
ConvBERT | ✅ | ✅ | ❌
ConvNeXT | ✅ | ✅ | ❌
ConvNeXTV2 | ✅ | ✅ | ❌
CPM | ✅ | ✅ | ✅
CPM-Ant | ✅ | ❌ | ❌
CTRL | ✅ | ✅ | ❌
CvT | ✅ | ✅ | ❌
Data2VecAudio | ✅ | ❌ | ❌
Data2VecText | ✅ | ❌ | ❌
Data2VecVision | ✅ | ✅ | ❌
DeBERTa | ✅ | ✅ | ❌
DeBERTa-v2 | ✅ | ✅ | ❌
Decision Transformer | ✅ | ❌ | ❌
Deformable DETR | ✅ | ❌ | ❌
DeiT | ✅ | ✅ | ❌
DePlot | ✅ | ❌ | ❌
Depth Anything | ✅ | ❌ | ❌
DETA | ✅ | ❌ | ❌
DETR | ✅ | ❌ | ❌
DialoGPT | ✅ | ✅ | ✅
DiNAT | ✅ | ❌ | ❌
DINOv2 | ✅ | ❌ | ❌
DistilBERT | ✅ | ✅ | ✅
DiT | ✅ | ❌ | ✅
DonutSwin | ✅ | ❌ | ❌
DPR | ✅ | ✅ | ❌
DPT | ✅ | ❌ | ❌
EfficientFormer | ✅ | ✅ | ❌
EfficientNet | ✅ | ❌ | ❌
ELECTRA | ✅ | ✅ | ✅
EnCodec | ✅ | ❌ | ❌
Encoder decoder | ✅ | ✅ | ✅
ERNIE | ✅ | ❌ | ❌
ErnieM | ✅ | ❌ | ❌
ESM | ✅ | ✅ | ❌
FairSeq Machine-Translation | ✅ | ❌ | ❌
Falcon | ✅ | ❌ | ❌
FastSpeech2Conformer | ✅ | ❌ | ❌
FLAN-T5 | ✅ | ✅ | ✅
FLAN-UL2 | ✅ | ✅ | ✅
FlauBERT | ✅ | ✅ | ❌
FLAVA | ✅ | ❌ | ❌
FNet | ✅ | ❌ | ❌
FocalNet | ✅ | ❌ | ❌
Funnel Transformer | ✅ | ✅ | ❌
Fuyu | ✅ | ❌ | ❌
Gemma | ✅ | ❌ | ✅
GIT | ✅ | ❌ | ❌
GLPN | ✅ | ❌ | ❌
GPT Neo | ✅ | ❌ | ✅
GPT NeoX | ✅ | ❌ | ❌
GPT NeoX Japanese | ✅ | ❌ | ❌
GPT-J | ✅ | ✅ | ✅
GPT-Sw3 | ✅ | ✅ | ✅
GPTBigCode | ✅ | ❌ | ❌
GPTSAN-japanese | ✅ | ❌ | ❌
Graphormer | ✅ | ❌ | ❌
GroupViT | ✅ | ✅ | ❌
HerBERT | ✅ | ✅ | ✅
Hubert | ✅ | ✅ | ❌
I-BERT | ✅ | ❌ | ❌
IDEFICS | ✅ | ❌ | ❌
ImageGPT | ✅ | ❌ | ❌
Informer | ✅ | ❌ | ❌
InstructBLIP | ✅ | ❌ | ❌
Jukebox | ✅ | ❌ | ❌
KOSMOS-2 | ✅ | ❌ | ❌
LayoutLM | ✅ | ✅ | ❌
LayoutLMv2 | ✅ | ❌ | ❌
LayoutLMv3 | ✅ | ✅ | ❌
LayoutXLM | ✅ | ❌ | ❌
LED | ✅ | ✅ | ❌
LeViT | ✅ | ❌ | ❌
LiLT | ✅ | ❌ | ❌
LLaMA | ✅ | ❌ | ✅
Llama2 | ✅ | ❌ | ✅
LLaVa | ✅ | ❌ | ❌
Longformer | ✅ | ✅ | ❌
LongT5 | ✅ | ❌ | ✅
LUKE | ✅ | ❌ | ❌
LXMERT | ✅ | ✅ | ❌
M-CTC-T | ✅ | ❌ | ❌
M2M100 | ✅ | ❌ | ❌
MADLAD-400 | ✅ | ✅ | ✅
Marian | ✅ | ✅ | ✅
MarkupLM | ✅ | ❌ | ❌
Mask2Former | ✅ | ❌ | ❌
MaskFormer | ✅ | ❌ | ❌
MatCha | ✅ | ❌ | ❌
mBART | ✅ | ✅ | ✅
mBART-50 | ✅ | ✅ | ✅
MEGA | ✅ | ❌ | ❌
Megatron-BERT | ✅ | ❌ | ❌
Megatron-GPT2 | ✅ | ✅ | ✅
MGP-STR | ✅ | ❌ | ❌
Mistral | ✅ | ❌ | ✅
Mixtral | ✅ | ❌ | ❌
mLUKE | ✅ | ❌ | ❌
MMS | ✅ | ✅ | ✅
MobileBERT | ✅ | ✅ | ❌
MobileNetV1 | ✅ | ❌ | ❌
MobileNetV2 | ✅ | ❌ | ❌
MobileViT | ✅ | ✅ | ❌
MobileViTV2 | ✅ | ❌ | ❌
MPNet | ✅ | ✅ | ❌
MPT | ✅ | ❌ | ❌
MRA | ✅ | ❌ | ❌
MT5 | ✅ | ✅ | ✅
MusicGen | ✅ | ❌ | ❌
MVP | ✅ | ❌ | ❌
NAT | ✅ | ❌ | ❌
Nezha | ✅ | ❌ | ❌
NLLB | ✅ | ❌ | ❌
NLLB-MOE | ✅ | ❌ | ❌
Nougat | ✅ | ✅ | ✅
Nyströmformer | ✅ | ❌ | ❌
OneFormer | ✅ | ❌ | ❌
OpenAI GPT | ✅ | ✅ | ❌
OpenAI GPT-2 | ✅ | ✅ | ✅
OpenLlama | ✅ | ❌ | ❌
OPT | ✅ | ✅ | ✅
OWL-ViT | ✅ | ❌ | ❌
OWLv2 | ✅ | ❌ | ❌
PatchTSMixer | ✅ | ❌ | ❌
PatchTST | ✅ | ❌ | ❌
Pegasus | ✅ | ✅ | ✅
PEGASUS-X | ✅ | ❌ | ❌
Perceiver | ✅ | ❌ | ❌
Persimmon | ✅ | ❌ | ❌
Phi | ✅ | ❌ | ❌
PhoBERT | ✅ | ✅ | ✅
Pix2Struct | ✅ | ❌ | ❌
PLBart | ✅ | ❌ | ❌
PoolFormer | ✅ | ❌ | ❌
Pop2Piano | ✅ | ❌ | ❌
ProphetNet | ✅ | ❌ | ❌
PVT | ✅ | ❌ | ❌
QDQBert | ✅ | ❌ | ❌
Qwen2 | ✅ | ❌ | ❌
RAG | ✅ | ✅ | ❌
REALM | ✅ | ❌ | ❌
Reformer | ✅ | ❌ | ❌
RegNet | ✅ | ✅ | ✅
RemBERT | ✅ | ✅ | ❌
ResNet | ✅ | ✅ | ✅
RetriBERT | ✅ | ❌ | ❌
RoBERTa | ✅ | ✅ | ✅
RoBERTa-PreLayerNorm | ✅ | ✅ | ✅
RoCBert | ✅ | ❌ | ❌
RoFormer | ✅ | ✅ | ✅
RWKV | ✅ | ❌ | ❌
SAM | ✅ | ✅ | ❌
SeamlessM4T | ✅ | ❌ | ❌
SeamlessM4Tv2 | ✅ | ❌ | ❌
SegFormer | ✅ | ✅ | ❌
SegGPT | ✅ | ❌ | ❌
SEW | ✅ | ❌ | ❌
SEW-D | ✅ | ❌ | ❌
SigLIP | ✅ | ❌ | ❌
Speech Encoder decoder | ✅ | ❌ | ✅
Speech2Text | ✅ | ✅ | ❌
SpeechT5 | ✅ | ❌ | ❌
Splinter | ✅ | ❌ | ❌
SqueezeBERT | ✅ | ❌ | ❌
StableLm | ✅ | ❌ | ❌
Starcoder2 | ✅ | ❌ | ❌
SwiftFormer | ✅ | ❌ | ❌
Swin Transformer | ✅ | ✅ | ❌
Swin Transformer V2 | ✅ | ❌ | ❌
Swin2SR | ✅ | ❌ | ❌
SwitchTransformers | ✅ | ❌ | ❌
T5 | ✅ | ✅ | ✅
T5v1.1 | ✅ | ✅ | ✅
Table Transformer | ✅ | ❌ | ❌
TAPAS | ✅ | ✅ | ❌
TAPEX | ✅ | ✅ | ✅
Time Series Transformer | ✅ | ❌ | ❌
TimeSformer | ✅ | ❌ | ❌
Trajectory Transformer | ✅ | ❌ | ❌
Transformer-XL | ✅ | ✅ | ❌
TrOCR | ✅ | ❌ | ❌
TVLT | ✅ | ❌ | ❌
TVP | ✅ | ❌ | ❌
UL2 | ✅ | ✅ | ✅
UMT5 | ✅ | ❌ | ❌
UniSpeech | ✅ | ❌ | ❌
UniSpeechSat | ✅ | ❌ | ❌
UnivNet | ✅ | ❌ | ❌
UPerNet | ✅ | ❌ | ❌
VAN | ✅ | ❌ | ❌
VideoMAE | ✅ | ❌ | ❌
ViLT | ✅ | ❌ | ❌
VipLlava | ✅ | ❌ | ❌
Vision Encoder decoder | ✅ | ✅ | ✅
VisionTextDualEncoder | ✅ | ✅ | ✅
VisualBERT | ✅ | ❌ | ❌
ViT | ✅ | ✅ | ✅
ViT Hybrid | ✅ | ❌ | ❌
VitDet | ✅ | ❌ | ❌
ViTMAE | ✅ | ✅ | ❌
ViTMatte | ✅ | ❌ | ❌
ViTMSN | ✅ | ❌ | ❌
VITS | ✅ | ❌ | ❌
ViViT | ✅ | ❌ | ❌
Wav2Vec2 | ✅ | ✅ | ✅
Wav2Vec2-BERT | ✅ | ❌ | ❌
Wav2Vec2-Conformer | ✅ | ❌ | ❌
Wav2Vec2Phoneme | ✅ | ✅ | ✅
WavLM | ✅ | ❌ | ❌
Whisper | ✅ | ✅ | ✅
X-CLIP | ✅ | ❌ | ❌
X-MOD | ✅ | ❌ | ❌
XGLM | ✅ | ✅ | ✅
XLM | ✅ | ✅ | ❌
XLM-ProphetNet | ✅ | ❌ | ❌
XLM-RoBERTa | ✅ | ✅ | ✅
XLM-RoBERTa-XL | ✅ | ❌ | ❌
XLM-V | ✅ | ✅ | ✅
XLNet | ✅ | ✅ | ❌
XLS-R | ✅ | ✅ | ✅
XLSR-Wav2Vec2 | ✅ | ✅ | ✅
YOLOS | ✅ | ❌ | ❌
YOSO | ✅ | ❌ | ❌

< > Update on GitHub