pipelines.rst 7.02 KB
Newer Older
Sylvain Gugger's avatar
Sylvain Gugger committed
1
2
3
4
5
6
7
8
9
10
11
12
.. 
    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.

Lysandre Debut's avatar
Lysandre Debut committed
13
Pipelines
Sylvain Gugger's avatar
Sylvain Gugger committed
14
-----------------------------------------------------------------------------------------------------------------------
Lysandre Debut's avatar
Lysandre Debut committed
15

Sylvain Gugger's avatar
Sylvain Gugger committed
16
17
The pipelines are a great and easy way to use models for inference. These pipelines are objects that abstract most of
the complex code from the library, offering a simple API dedicated to several tasks, including Named Entity
Sylvain Gugger's avatar
Sylvain Gugger committed
18
19
Recognition, Masked Language Modeling, Sentiment Analysis, Feature Extraction and Question Answering. See the
:doc:`task summary <../task_summary>` for examples of use.
Lysandre Debut's avatar
Lysandre Debut committed
20
21
22

There are two categories of pipeline abstractions to be aware about:

Sylvain Gugger's avatar
Sylvain Gugger committed
23
24
25
- The :func:`~transformers.pipeline` which is the most powerful object encapsulating all other pipelines.
- The other task-specific pipelines:

26
    - :class:`~transformers.AudioClassificationPipeline`
27
    - :class:`~transformers.AutomaticSpeechRecognitionPipeline`
Sylvain Gugger's avatar
Sylvain Gugger committed
28
29
30
    - :class:`~transformers.ConversationalPipeline`
    - :class:`~transformers.FeatureExtractionPipeline`
    - :class:`~transformers.FillMaskPipeline`
Sylvain Gugger's avatar
Sylvain Gugger committed
31
    - :class:`~transformers.ImageClassificationPipeline`
32
    - :class:`~transformers.ObjectDetectionPipeline`
Sylvain Gugger's avatar
Sylvain Gugger committed
33
34
    - :class:`~transformers.QuestionAnsweringPipeline`
    - :class:`~transformers.SummarizationPipeline`
35
    - :class:`~transformers.TableQuestionAnsweringPipeline`
Sylvain Gugger's avatar
Sylvain Gugger committed
36
37
    - :class:`~transformers.TextClassificationPipeline`
    - :class:`~transformers.TextGenerationPipeline`
38
    - :class:`~transformers.Text2TextGenerationPipeline`
Sylvain Gugger's avatar
Sylvain Gugger committed
39
40
    - :class:`~transformers.TokenClassificationPipeline`
    - :class:`~transformers.TranslationPipeline`
41
    - :class:`~transformers.ZeroShotClassificationPipeline`
Lysandre Debut's avatar
Lysandre Debut committed
42
43

The pipeline abstraction
Sylvain Gugger's avatar
Sylvain Gugger committed
44
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lysandre Debut's avatar
Lysandre Debut committed
45

Sylvain Gugger's avatar
Sylvain Gugger committed
46
47
The `pipeline` abstraction is a wrapper around all the other available pipelines. It is instantiated as any other
pipeline but requires an additional argument which is the `task`.
Lysandre Debut's avatar
Lysandre Debut committed
48

Sylvain Gugger's avatar
Sylvain Gugger committed
49
.. autofunction:: transformers.pipeline
Lysandre Debut's avatar
Lysandre Debut committed
50
51
52


The task specific pipelines
Sylvain Gugger's avatar
Sylvain Gugger committed
53
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lysandre Debut's avatar
Lysandre Debut committed
54

55
56
57
58
59
60
61
AudioClassificationPipeline
=======================================================================================================================

.. autoclass:: transformers.AudioClassificationPipeline
    :special-members: __call__
    :members:

62
63
64
65
66
67
68
AutomaticSpeechRecognitionPipeline
=======================================================================================================================

.. autoclass:: transformers.AutomaticSpeechRecognitionPipeline
    :special-members: __call__
    :members:

Sylvain Gugger's avatar
Sylvain Gugger committed
69
ConversationalPipeline
Sylvain Gugger's avatar
Sylvain Gugger committed
70
=======================================================================================================================
Lysandre Debut's avatar
Lysandre Debut committed
71

Sylvain Gugger's avatar
Sylvain Gugger committed
72
.. autoclass:: transformers.Conversation
Lysandre Debut's avatar
Lysandre Debut committed
73

Sylvain Gugger's avatar
Sylvain Gugger committed
74
75
76
77
78
.. autoclass:: transformers.ConversationalPipeline
    :special-members: __call__
    :members:

FeatureExtractionPipeline
Sylvain Gugger's avatar
Sylvain Gugger committed
79
=======================================================================================================================
Lysandre Debut's avatar
Lysandre Debut committed
80

Sylvain Gugger's avatar
Sylvain Gugger committed
81
82
83
.. autoclass:: transformers.FeatureExtractionPipeline
    :special-members: __call__
    :members:
Lysandre Debut's avatar
Lysandre Debut committed
84
85

FillMaskPipeline
Sylvain Gugger's avatar
Sylvain Gugger committed
86
=======================================================================================================================
Lysandre Debut's avatar
Lysandre Debut committed
87
88

.. autoclass:: transformers.FillMaskPipeline
Sylvain Gugger's avatar
Sylvain Gugger committed
89
90
    :special-members: __call__
    :members:
Lysandre Debut's avatar
Lysandre Debut committed
91

92
93
94
95
96
97
98
ImageClassificationPipeline
=======================================================================================================================

.. autoclass:: transformers.ImageClassificationPipeline
    :special-members: __call__
    :members:

Sylvain Gugger's avatar
Sylvain Gugger committed
99
NerPipeline
Sylvain Gugger's avatar
Sylvain Gugger committed
100
=======================================================================================================================
Lysandre Debut's avatar
Lysandre Debut committed
101

102
103
104
.. autoclass:: transformers.NerPipeline

See :class:`~transformers.TokenClassificationPipeline` for all details.
Lysandre Debut's avatar
Lysandre Debut committed
105

106
107
108
109
110
111
112
ObjectDetectionPipeline
=======================================================================================================================

.. autoclass:: transformers.ObjectDetectionPipeline
    :special-members: __call__
    :members:

Lysandre Debut's avatar
Lysandre Debut committed
113
QuestionAnsweringPipeline
Sylvain Gugger's avatar
Sylvain Gugger committed
114
=======================================================================================================================
Lysandre Debut's avatar
Lysandre Debut committed
115
116

.. autoclass:: transformers.QuestionAnsweringPipeline
Sylvain Gugger's avatar
Sylvain Gugger committed
117
118
    :special-members: __call__
    :members:
119
120

SummarizationPipeline
Sylvain Gugger's avatar
Sylvain Gugger committed
121
=======================================================================================================================
122
123

.. autoclass:: transformers.SummarizationPipeline
Sylvain Gugger's avatar
Sylvain Gugger committed
124
125
    :special-members: __call__
    :members:
126

127
128
129
130
131
132
133
TableQuestionAnsweringPipeline
=======================================================================================================================

.. autoclass:: transformers.TableQuestionAnsweringPipeline
    :special-members: __call__


Sylvain Gugger's avatar
Sylvain Gugger committed
134
TextClassificationPipeline
Sylvain Gugger's avatar
Sylvain Gugger committed
135
=======================================================================================================================
Sylvain Gugger's avatar
Sylvain Gugger committed
136
137
138
139

.. autoclass:: transformers.TextClassificationPipeline
    :special-members: __call__
    :members:
140
141

TextGenerationPipeline
Sylvain Gugger's avatar
Sylvain Gugger committed
142
=======================================================================================================================
143
144

.. autoclass:: transformers.TextGenerationPipeline
Sylvain Gugger's avatar
Sylvain Gugger committed
145
146
    :special-members: __call__
    :members:
147

148
Text2TextGenerationPipeline
Sylvain Gugger's avatar
Sylvain Gugger committed
149
=======================================================================================================================
150
151
152
153
154

.. autoclass:: transformers.Text2TextGenerationPipeline
    :special-members: __call__
    :members:

Sylvain Gugger's avatar
Sylvain Gugger committed
155
TokenClassificationPipeline
Sylvain Gugger's avatar
Sylvain Gugger committed
156
=======================================================================================================================
157

Sylvain Gugger's avatar
Sylvain Gugger committed
158
159
160
161
.. autoclass:: transformers.TokenClassificationPipeline
    :special-members: __call__
    :members:

162
163
164
165
166
167
168
TranslationPipeline
=======================================================================================================================

.. autoclass:: transformers.TranslationPipeline
    :special-members: __call__
    :members:

169
ZeroShotClassificationPipeline
Sylvain Gugger's avatar
Sylvain Gugger committed
170
=======================================================================================================================
171
172
173
174
175

.. autoclass:: transformers.ZeroShotClassificationPipeline
    :special-members: __call__
    :members:

Sylvain Gugger's avatar
Sylvain Gugger committed
176
Parent class: :obj:`Pipeline`
Sylvain Gugger's avatar
Sylvain Gugger committed
177
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sylvain Gugger's avatar
Sylvain Gugger committed
178
179
180

.. autoclass:: transformers.Pipeline
    :members: