README.md 22.5 KB
Newer Older
Sylvain Gugger's avatar
Sylvain Gugger committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!---
Copyright 2020 The HuggingFace Team. All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->

thomwolf's avatar
thomwolf committed
17
<p align="center">
Victor Muštar's avatar
Victor Muštar committed
18
19
20
21
22
23
24
25
26
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="https://huggingface.co/datasets/huggingface/documentation-images/raw/main/transformers-logo-dark.svg">
    <source media="(prefers-color-scheme: light)" srcset="https://huggingface.co/datasets/huggingface/documentation-images/raw/main/transformers-logo-light.svg">
    <img alt="Hugging Face Transformers Library" src="https://huggingface.co/datasets/huggingface/documentation-images/raw/main/transformers-logo-light.svg" width="352" height="59" style="max-width: 100%;">
  </picture>
  <br/>
  <br/>
</p>

thomwolf's avatar
thomwolf committed
27
<p align="center">
Lysandre Debut's avatar
Lysandre Debut committed
28
    <a href="https://circleci.com/gh/huggingface/transformers">
29
        <img alt="Build" src="https://img.shields.io/circleci/build/github/huggingface/transformers/main">
thomwolf's avatar
thomwolf committed
30
    </a>
31
    <a href="https://github.com/huggingface/transformers/blob/main/LICENSE">
thomwolf's avatar
thomwolf committed
32
        <img alt="GitHub" src="https://img.shields.io/github/license/huggingface/transformers.svg?color=blue">
thomwolf's avatar
thomwolf committed
33
    </a>
Sylvain Gugger's avatar
Sylvain Gugger committed
34
35
    <a href="https://huggingface.co/docs/transformers/index">
        <img alt="Documentation" src="https://img.shields.io/website/http/huggingface.co/docs/transformers/index.svg?down_color=red&down_message=offline&up_message=online">
thomwolf's avatar
thomwolf committed
36
37
    </a>
    <a href="https://github.com/huggingface/transformers/releases">
thomwolf's avatar
thomwolf committed
38
        <img alt="GitHub release" src="https://img.shields.io/github/release/huggingface/transformers.svg">
thomwolf's avatar
thomwolf committed
39
    </a>
40
    <a href="https://github.com/huggingface/transformers/blob/main/CODE_OF_CONDUCT.md">
Sylvain Gugger's avatar
Sylvain Gugger committed
41
42
        <img alt="Contributor Covenant" src="https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg">
    </a>
43
    <a href="https://zenodo.org/badge/latestdoi/155220641"><img src="https://zenodo.org/badge/155220641.svg" alt="DOI"></a>
thomwolf's avatar
thomwolf committed
44
45
</p>

46
<h4 align="center">
47
48
    <p>
        <b>English</b> |
49
50
        <a href="https://github.com/huggingface/transformers/blob/main/README_zh-hans.md">简体中文</a> |
        <a href="https://github.com/huggingface/transformers/blob/main/README_zh-hant.md">繁體中文</a> |
51
        <a href="https://github.com/huggingface/transformers/blob/main/README_ko.md">한국어</a> |
52
        <a href="https://github.com/huggingface/transformers/blob/main/README_es.md">Español</a> |
53
        <a href="https://github.com/huggingface/transformers/blob/main/README_ja.md">日本語</a> |
54
        <a href="https://github.com/huggingface/transformers/blob/main/README_hd.md">हिन्दी</a> |
55
56
        <a href="https://github.com/huggingface/transformers/blob/main/README_ru.md">Русский</a> |
        <a href="https://github.com/huggingface/transformers/blob/main/README_pt-br.md">Рortuguês</a> |
57
58
        <a href="https://github.com/huggingface/transformers/blob/main/README_te.md">తెలుగు</a> |
        <a href="https://github.com/huggingface/transformers/blob/main/README_fr.md">Français</a> |
59
        <a href="https://github.com/huggingface/transformers/blob/main/README_de.md">Deutsch</a> |
60
        <a href="https://github.com/huggingface/transformers/blob/main/README_vi.md">Tiếng Việt</a> |
HanSeokhyeon's avatar
HanSeokhyeon committed
61
    </p>
62
63
</h4>

thomwolf's avatar
thomwolf committed
64
<h3 align="center">
65
    <p>State-of-the-art Machine Learning for JAX, PyTorch and TensorFlow</p>
thomwolf's avatar
thomwolf committed
66
</h3>
thomwolf's avatar
thomwolf committed
67

Sylvain Gugger's avatar
Sylvain Gugger committed
68
<h3 align="center">
69
    <a href="https://hf.co/course"><img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/course_banner.png"></a>
Sylvain Gugger's avatar
Sylvain Gugger committed
70
71
</h3>

amyeroberts's avatar
amyeroberts committed
72
🤗 Transformers provides thousands of pretrained models to perform tasks on different modalities such as text, vision, and audio.
73

Suraj Patil's avatar
Suraj Patil committed
74
These models can be applied on:
75

76
* 📝 Text, for tasks like text classification, information extraction, question answering, summarization, translation, and text generation, in over 100 languages.
amyeroberts's avatar
amyeroberts committed
77
78
* 🖼️ Images, for tasks like image classification, object detection, and segmentation.
* 🗣️ Audio, for tasks like speech recognition and audio classification.
79
80

Transformer models can also perform tasks on **several modalities combined**, such as table question answering, optical character recognition, information extraction from scanned documents, video classification, and visual question answering.
thomwolf's avatar
thomwolf committed
81

82
🤗 Transformers provides APIs to quickly download and use those pretrained models on a given text, fine-tune them on your own datasets and then share them with the community on our [model hub](https://huggingface.co/models). At the same time, each python module defining an architecture is fully standalone and can be modified to enable quick research experiments.
Clement's avatar
Clement committed
83

84
🤗 Transformers is backed by the three most popular deep learning libraries — [Jax](https://jax.readthedocs.io/en/latest/), [PyTorch](https://pytorch.org/) and [TensorFlow](https://www.tensorflow.org/) — with a seamless integration between them. It's straightforward to train your models with one before loading them for inference with the other.
thomwolf's avatar
thomwolf committed
85

Sylvain Gugger's avatar
Sylvain Gugger committed
86
## Online demos
thomwolf's avatar
thomwolf committed
87

88
You can test most of our models directly on their pages from the [model hub](https://huggingface.co/models). We also offer [private model hosting, versioning, & an inference API](https://huggingface.co/pricing) for public and private models.
Julien Chaumond's avatar
Julien Chaumond committed
89

90
Here are a few examples:
91

92
In Natural Language Processing:
93
- [Masked word completion with BERT](https://huggingface.co/google-bert/bert-base-uncased?text=Paris+is+the+%5BMASK%5D+of+France)
94
95
- [Named Entity Recognition with Electra](https://huggingface.co/dbmdz/electra-large-discriminator-finetuned-conll03-english?text=My+name+is+Sarah+and+I+live+in+London+city)
- [Text generation with Mistral](https://huggingface.co/mistralai/Mistral-7B-Instruct-v0.2)
96
- [Natural Language Inference with RoBERTa](https://huggingface.co/FacebookAI/roberta-large-mnli?text=The+dog+was+lost.+Nobody+lost+any+animal)
Sylvain Gugger's avatar
Sylvain Gugger committed
97
- [Summarization with BART](https://huggingface.co/facebook/bart-large-cnn?text=The+tower+is+324+metres+%281%2C063+ft%29+tall%2C+about+the+same+height+as+an+81-storey+building%2C+and+the+tallest+structure+in+Paris.+Its+base+is+square%2C+measuring+125+metres+%28410+ft%29+on+each+side.+During+its+construction%2C+the+Eiffel+Tower+surpassed+the+Washington+Monument+to+become+the+tallest+man-made+structure+in+the+world%2C+a+title+it+held+for+41+years+until+the+Chrysler+Building+in+New+York+City+was+finished+in+1930.+It+was+the+first+structure+to+reach+a+height+of+300+metres.+Due+to+the+addition+of+a+broadcasting+aerial+at+the+top+of+the+tower+in+1957%2C+it+is+now+taller+than+the+Chrysler+Building+by+5.2+metres+%2817+ft%29.+Excluding+transmitters%2C+the+Eiffel+Tower+is+the+second+tallest+free-standing+structure+in+France+after+the+Millau+Viaduct)
98
99
- [Question answering with DistilBERT](https://huggingface.co/distilbert/distilbert-base-uncased-distilled-squad?text=Which+name+is+also+used+to+describe+the+Amazon+rainforest+in+English%3F&context=The+Amazon+rainforest+%28Portuguese%3A+Floresta+Amaz%C3%B4nica+or+Amaz%C3%B4nia%3B+Spanish%3A+Selva+Amaz%C3%B3nica%2C+Amazon%C3%ADa+or+usually+Amazonia%3B+French%3A+For%C3%AAt+amazonienne%3B+Dutch%3A+Amazoneregenwoud%29%2C+also+known+in+English+as+Amazonia+or+the+Amazon+Jungle%2C+is+a+moist+broadleaf+forest+that+covers+most+of+the+Amazon+basin+of+South+America.+This+basin+encompasses+7%2C000%2C000+square+kilometres+%282%2C700%2C000+sq+mi%29%2C+of+which+5%2C500%2C000+square+kilometres+%282%2C100%2C000+sq+mi%29+are+covered+by+the+rainforest.+This+region+includes+territory+belonging+to+nine+nations.+The+majority+of+the+forest+is+contained+within+Brazil%2C+with+60%25+of+the+rainforest%2C+followed+by+Peru+with+13%25%2C+Colombia+with+10%25%2C+and+with+minor+amounts+in+Venezuela%2C+Ecuador%2C+Bolivia%2C+Guyana%2C+Suriname+and+French+Guiana.+States+or+departments+in+four+nations+contain+%22Amazonas%22+in+their+names.+The+Amazon+represents+over+half+of+the+planet%27s+remaining+rainforests%2C+and+comprises+the+largest+and+most+biodiverse+tract+of+tropical+rainforest+in+the+world%2C+with+an+estimated+390+billion+individual+trees+divided+into+16%2C000+species)
- [Translation with T5](https://huggingface.co/google-t5/t5-base?text=My+name+is+Wolfgang+and+I+live+in+Berlin)
thomwolf's avatar
indeed  
thomwolf committed
100

101
102
103
In Computer Vision:
- [Image classification with ViT](https://huggingface.co/google/vit-base-patch16-224)
- [Object Detection with DETR](https://huggingface.co/facebook/detr-resnet-50)
104
- [Semantic Segmentation with SegFormer](https://huggingface.co/nvidia/segformer-b0-finetuned-ade-512-512)
105
106
- [Panoptic Segmentation with Mask2Former](https://huggingface.co/facebook/mask2former-swin-large-coco-panoptic)
- [Depth Estimation with Depth Anything](https://huggingface.co/docs/transformers/main/model_doc/depth_anything)
NielsRogge's avatar
NielsRogge committed
107
- [Video Classification with VideoMAE](https://huggingface.co/docs/transformers/model_doc/videomae)
Jitesh Jain's avatar
Jitesh Jain committed
108
- [Universal Segmentation with OneFormer](https://huggingface.co/shi-labs/oneformer_ade20k_dinat_large)
109
110

In Audio:
111
- [Automatic Speech Recognition with Whisper](https://huggingface.co/openai/whisper-large-v3)
112
- [Keyword Spotting with Wav2Vec2](https://huggingface.co/superb/wav2vec2-base-superb-ks)
NielsRogge's avatar
NielsRogge committed
113
- [Audio Classification with Audio Spectrogram Transformer](https://huggingface.co/MIT/ast-finetuned-audioset-10-10-0.4593)
114

115
In Multimodal tasks:
NielsRogge's avatar
NielsRogge committed
116
- [Table Question Answering with TAPAS](https://huggingface.co/google/tapas-base-finetuned-wtq)
117
- [Visual Question Answering with ViLT](https://huggingface.co/dandelin/vilt-b32-finetuned-vqa)
118
119
- [Image captioning with LLaVa](https://huggingface.co/llava-hf/llava-1.5-7b-hf)
- [Zero-shot Image Classification with SigLIP](https://huggingface.co/google/siglip-so400m-patch14-384)
NielsRogge's avatar
NielsRogge committed
120
121
- [Document Question Answering with LayoutLM](https://huggingface.co/impira/layoutlm-document-qa)
- [Zero-shot Video Classification with X-CLIP](https://huggingface.co/docs/transformers/model_doc/xclip)
122
123
124
- [Zero-shot Object Detection with OWLv2](https://huggingface.co/docs/transformers/en/model_doc/owlv2)
- [Zero-shot Image Segmentation with CLIPSeg](https://huggingface.co/docs/transformers/model_doc/clipseg)
- [Automatic Mask Generation with SAM](https://huggingface.co/docs/transformers/model_doc/sam)
125

126
127
128

## 100 projects using Transformers

129
130
Transformers is more than a toolkit to use pretrained models: it's a community of projects built around it and the
Hugging Face Hub. We want Transformers to enable developers, researchers, students, professors, engineers, and anyone
131
132
133
134
135
136
137
138
else to build their dream projects.

In order to celebrate the 100,000 stars of transformers, we have decided to put the spotlight on the
community, and we have created the [awesome-transformers](./awesome-transformers.md) page which lists 100
incredible projects built in the vicinity of transformers.

If you own or use a project that you believe should be part of the list, please open a PR to add it!

139
140
141
## If you are looking for custom support from the Hugging Face team

<a target="_blank" href="https://huggingface.co/support">
142
    <img alt="HuggingFace Expert Acceleration Program" src="https://cdn-media.huggingface.co/marketing/transformers/new-support-improved.png" style="max-width: 600px; border: 1px solid #eee; border-radius: 4px; box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);">
143
144
</a><br>

Sylvain Gugger's avatar
Sylvain Gugger committed
145
## Quick tour
VictorSanh's avatar
VictorSanh committed
146

147
To immediately use a model on a given input (text, image, audio, ...), we provide the `pipeline` API. Pipelines group together a pretrained model with the preprocessing that was used during that model's training. Here is how to quickly use a pipeline to classify positive versus negative texts:
VictorSanh's avatar
VictorSanh committed
148

Sylvain Gugger's avatar
Sylvain Gugger committed
149
150
```python
>>> from transformers import pipeline
151

Sylvain Gugger's avatar
Sylvain Gugger committed
152
153
# Allocate a pipeline for sentiment-analysis
>>> classifier = pipeline('sentiment-analysis')
154
155
>>> classifier('We are very happy to introduce pipeline to the transformers repository.')
[{'label': 'POSITIVE', 'score': 0.9996980428695679}]
Sylvain Gugger's avatar
Sylvain Gugger committed
156
```
157

158
The second line of code downloads and caches the pretrained model used by the pipeline, while the third evaluates it on the given text. Here, the answer is "positive" with a confidence of 99.97%.
159

flozi00's avatar
flozi00 committed
160
Many tasks have a pre-trained `pipeline` ready to go, in NLP but also in computer vision and speech. For example, we can easily extract detected objects in an image:
thomwolf's avatar
thomwolf committed
161

Sylvain Gugger's avatar
Sylvain Gugger committed
162
``` python
163
164
>>> import requests
>>> from PIL import Image
Sylvain Gugger's avatar
Sylvain Gugger committed
165
>>> from transformers import pipeline
166

167
168
169
170
171
172
# Download an image with cute cats
>>> url = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/coco_sample.png"
>>> image_data = requests.get(url, stream=True).raw
>>> image = Image.open(image_data)

# Allocate a pipeline for object detection
173
>>> object_detector = pipeline('object-detection')
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
>>> object_detector(image)
[{'score': 0.9982201457023621,
  'label': 'remote',
  'box': {'xmin': 40, 'ymin': 70, 'xmax': 175, 'ymax': 117}},
 {'score': 0.9960021376609802,
  'label': 'remote',
  'box': {'xmin': 333, 'ymin': 72, 'xmax': 368, 'ymax': 187}},
 {'score': 0.9954745173454285,
  'label': 'couch',
  'box': {'xmin': 0, 'ymin': 1, 'xmax': 639, 'ymax': 473}},
 {'score': 0.9988006353378296,
  'label': 'cat',
  'box': {'xmin': 13, 'ymin': 52, 'xmax': 314, 'ymax': 470}},
 {'score': 0.9986783862113953,
  'label': 'cat',
  'box': {'xmin': 345, 'ymin': 23, 'xmax': 640, 'ymax': 368}}]
thomwolf's avatar
thomwolf committed
190
```
VictorSanh's avatar
VictorSanh committed
191

192
Here, we get a list of objects detected in the image, with a box surrounding the object and a confidence score. Here is the original image on the left, with the predictions displayed on the right:
193
194
195
196
197
198
199

<h3 align="center">
    <a><img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/coco_sample.png" width="400"></a>
    <a><img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/coco_sample_post_processed.png" width="400"></a>
</h3>

You can learn more about the tasks supported by the `pipeline` API in [this tutorial](https://huggingface.co/docs/transformers/task_summary).
thomwolf's avatar
thomwolf committed
200

201
In addition to `pipeline`, to download and use any of the pretrained models on your given task, all it takes is three lines of code. Here is the PyTorch version:
Sylvain Gugger's avatar
Sylvain Gugger committed
202
203
```python
>>> from transformers import AutoTokenizer, AutoModel
204

205
206
>>> tokenizer = AutoTokenizer.from_pretrained("google-bert/bert-base-uncased")
>>> model = AutoModel.from_pretrained("google-bert/bert-base-uncased")
thomwolf's avatar
thomwolf committed
207

Sylvain Gugger's avatar
Sylvain Gugger committed
208
209
>>> inputs = tokenizer("Hello world!", return_tensors="pt")
>>> outputs = model(**inputs)
thomwolf's avatar
thomwolf committed
210
```
211

212
And here is the equivalent code for TensorFlow:
Sylvain Gugger's avatar
Sylvain Gugger committed
213
214
```python
>>> from transformers import AutoTokenizer, TFAutoModel
VictorSanh's avatar
VictorSanh committed
215

216
217
>>> tokenizer = AutoTokenizer.from_pretrained("google-bert/bert-base-uncased")
>>> model = TFAutoModel.from_pretrained("google-bert/bert-base-uncased")
218

Sylvain Gugger's avatar
Sylvain Gugger committed
219
220
>>> inputs = tokenizer("Hello world!", return_tensors="tf")
>>> outputs = model(**inputs)
221
222
```

223
The tokenizer is responsible for all the preprocessing the pretrained model expects and can be called directly on a single string (as in the above examples) or a list. It will output a dictionary that you can use in downstream code or simply directly pass to your model using the ** argument unpacking operator.
224

225
The model itself is a regular [Pytorch `nn.Module`](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) or a [TensorFlow `tf.keras.Model`](https://www.tensorflow.org/api_docs/python/tf/keras/Model) (depending on your backend) which you can use as usual. [This tutorial](https://huggingface.co/docs/transformers/training) explains how to integrate such a model into a classic PyTorch or TensorFlow training loop, or how to use our `Trainer` API to quickly fine-tune on a new dataset.
226

Sylvain Gugger's avatar
Sylvain Gugger committed
227
## Why should I use transformers?
228

Sylvain Gugger's avatar
Sylvain Gugger committed
229
1. Easy-to-use state-of-the-art models:
230
    - High performance on natural language understanding & generation, computer vision, and audio tasks.
Sylvain Gugger's avatar
Sylvain Gugger committed
231
    - Low barrier to entry for educators and practitioners.
Akshay Gupta's avatar
Akshay Gupta committed
232
    - Few user-facing abstractions with just three classes to learn.
Sylvain Gugger's avatar
Sylvain Gugger committed
233
    - A unified API for using all our pretrained models.
thomwolf's avatar
thomwolf committed
234

Sylvain Gugger's avatar
Sylvain Gugger committed
235
236
237
1. Lower compute costs, smaller carbon footprint:
    - Researchers can share trained models instead of always retraining.
    - Practitioners can reduce compute time and production costs.
238
    - Dozens of architectures with over 400,000 pretrained models across all modalities.
thomwolf's avatar
thomwolf committed
239

Sylvain Gugger's avatar
Sylvain Gugger committed
240
241
1. Choose the right framework for every part of a model's lifetime:
    - Train state-of-the-art models in 3 lines of code.
242
    - Move a single model between TF2.0/PyTorch/JAX frameworks at will.
243
    - Seamlessly pick the right framework for training, evaluation, and production.
thomwolf's avatar
thomwolf committed
244

Sylvain Gugger's avatar
Sylvain Gugger committed
245
1. Easily customize a model or an example to your needs:
246
247
    - We provide examples for each architecture to reproduce the results published by its original authors.
    - Model internals are exposed as consistently as possible.
248
    - Model files can be used independently of the library for quick experiments.
249

Sylvain Gugger's avatar
Sylvain Gugger committed
250
## Why shouldn't I use transformers?
thomwolf's avatar
thomwolf committed
251

252
- This library is not a modular toolbox of building blocks for neural nets. The code in the model files is not refactored with additional abstractions on purpose, so that researchers can quickly iterate on each of the models without diving into additional abstractions/files.
253
- The training API is not intended to work on any model but is optimized to work with the models provided by the library. For generic machine learning loops, you should use another library (possibly, [Accelerate](https://huggingface.co/docs/accelerate)).
254
- While we strive to present as many use cases as possible, the scripts in our [examples folder](https://github.com/huggingface/transformers/tree/main/examples) are just that: examples. It is expected that they won't work out-of-the-box on your specific problem and that you will be required to change a few lines of code to adapt them to your needs.
255

Sylvain Gugger's avatar
Sylvain Gugger committed
256
## Installation
257

258
259
### With pip

Yih-Dar's avatar
Yih-Dar committed
260
This repository is tested on Python 3.8+, Flax 0.4.1+, PyTorch 1.11+, and TensorFlow 2.6+.
thomwolf's avatar
thomwolf committed
261

Sylvain Gugger's avatar
Sylvain Gugger committed
262
263
264
You should install 🤗 Transformers in a [virtual environment](https://docs.python.org/3/library/venv.html). If you're unfamiliar with Python virtual environments, check out the [user guide](https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/).

First, create a virtual environment with the version of Python you're going to use and activate it.
265

266
Then, you will need to install at least one of Flax, PyTorch, or TensorFlow.
267
Please refer to [TensorFlow installation page](https://www.tensorflow.org/install/), [PyTorch installation page](https://pytorch.org/get-started/locally/#start-locally) and/or [Flax](https://github.com/google/flax#quick-install) and [Jax](https://github.com/google/jax#installation) installation pages regarding the specific installation command for your platform.
268

269
When one of those backends has been installed, 🤗 Transformers can be installed using pip as follows:
270

Sylvain Gugger's avatar
Sylvain Gugger committed
271
272
273
```bash
pip install transformers
```
274

Sylvain Gugger's avatar
Sylvain Gugger committed
275
If you'd like to play with the examples or need the bleeding edge of the code and can't wait for a new release, you must [install the library from source](https://huggingface.co/docs/transformers/installation#installing-from-source).
276

277
278
279
280
281
### With conda

🤗 Transformers can be installed using conda as follows:

```shell script
282
conda install conda-forge::transformers
283
284
```

285
286
> **_NOTE:_** Installing `transformers` from the `huggingface` channel is deprecated.

287
Follow the installation pages of Flax, PyTorch or TensorFlow to see how to install them with conda.
288

289
290
> **_NOTE:_**  On Windows, you may be prompted to activate Developer Mode in order to benefit from caching. If this is not an option for you, please let us know in [this issue](https://github.com/huggingface/huggingface_hub/issues/1062).

291
## Model architectures
thomwolf's avatar
thomwolf committed
292

293
**[All the model checkpoints](https://huggingface.co/models)** provided by 🤗 Transformers are seamlessly integrated from the huggingface.co [model hub](https://huggingface.co/models), where they are uploaded directly by [users](https://huggingface.co/users) and [organizations](https://huggingface.co/organizations).
294
295
296

Current number of checkpoints: ![](https://img.shields.io/endpoint?url=https://huggingface.co/api/shields/models&color=brightgreen)

297
🤗 Transformers currently provides the following architectures: see [here](https://huggingface.co/docs/transformers/model_summary) for a high-level summary of each them.
thomwolf's avatar
thomwolf committed
298

Sylvain Gugger's avatar
Sylvain Gugger committed
299
To check if each model has an implementation in Flax, PyTorch or TensorFlow, or has an associated tokenizer backed by the 🤗 Tokenizers library, refer to [this table](https://huggingface.co/docs/transformers/index#supported-frameworks).
300

Shubham S Jagtap's avatar
Shubham S Jagtap committed
301
These implementations have been tested on several datasets (see the example scripts) and should match the performance of the original implementations. You can find more details on performance in the Examples section of the [documentation](https://github.com/huggingface/transformers/tree/main/examples).
302

thomwolf's avatar
thomwolf committed
303

Sylvain Gugger's avatar
Sylvain Gugger committed
304
## Learn more
thomwolf's avatar
thomwolf committed
305

Sylvain Gugger's avatar
Sylvain Gugger committed
306
307
| Section | Description |
|-|-|
Sylvain Gugger's avatar
Sylvain Gugger committed
308
309
| [Documentation](https://huggingface.co/docs/transformers/) | Full API documentation and tutorials |
| [Task summary](https://huggingface.co/docs/transformers/task_summary) | Tasks supported by 🤗 Transformers |
310
| [Preprocessing tutorial](https://huggingface.co/docs/transformers/preprocessing) | Using the `Tokenizer` class to prepare data for the models |
Sylvain Gugger's avatar
Sylvain Gugger committed
311
| [Training and fine-tuning](https://huggingface.co/docs/transformers/training) | Using the models provided by 🤗 Transformers in a PyTorch/TensorFlow training loop and the `Trainer` API |
312
| [Quick tour: Fine-tuning/usage scripts](https://github.com/huggingface/transformers/tree/main/examples) | Example scripts for fine-tuning models on a wide range of tasks |
Sylvain Gugger's avatar
Sylvain Gugger committed
313
| [Model sharing and uploading](https://huggingface.co/docs/transformers/model_sharing) | Upload and share your fine-tuned models with the community |
thomwolf's avatar
thomwolf committed
314

thomwolf's avatar
thomwolf committed
315
## Citation
thomwolf's avatar
thomwolf committed
316

317
We now have a [paper](https://www.aclweb.org/anthology/2020.emnlp-demos.6/) you can cite for the 🤗 Transformers library:
318
```bibtex
319
320
321
322
323
324
325
326
327
328
@inproceedings{wolf-etal-2020-transformers,
    title = "Transformers: State-of-the-Art Natural Language Processing",
    author = "Thomas Wolf and Lysandre Debut and Victor Sanh and Julien Chaumond and Clement Delangue and Anthony Moi and Pierric Cistac and Tim Rault and Rémi Louf and Morgan Funtowicz and Joe Davison and Sam Shleifer and Patrick von Platen and Clara Ma and Yacine Jernite and Julien Plu and Canwen Xu and Teven Le Scao and Sylvain Gugger and Mariama Drame and Quentin Lhoest and Alexander M. Rush",
    booktitle = "Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing: System Demonstrations",
    month = oct,
    year = "2020",
    address = "Online",
    publisher = "Association for Computational Linguistics",
    url = "https://www.aclweb.org/anthology/2020.emnlp-demos.6",
    pages = "38--45"
thomwolf's avatar
thomwolf committed
329
}
330
```