auto.md 7.85 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
<!--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.
11
12
13
14

鈿狅笍 Note that this file is in Markdown but contain specific syntax for our doc-builder (similar to MDX) that may not be
rendered properly in your Markdown viewer.

15
16
17
18
19
20
21
22
23
24
25
26
27
-->

# Auto Classes

In many cases, the architecture you want to use can be guessed from the name or the path of the pretrained model you
are supplying to the `from_pretrained()` method. AutoClasses are here to do this job for you so that you
automatically retrieve the relevant model given the name/path to the pretrained weights/config/vocabulary.

Instantiating one of [`AutoConfig`], [`AutoModel`], and
[`AutoTokenizer`] will directly create a class of the relevant architecture. For instance


```python
Sylvain Gugger's avatar
Style  
Sylvain Gugger committed
28
model = AutoModel.from_pretrained("bert-base-cased")
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
```

will create a model that is an instance of [`BertModel`].

There is one class of `AutoModel` for each task, and for each backend (PyTorch, TensorFlow, or Flax).

## Extending the Auto Classes

Each of the auto classes has a method to be extended with your custom classes. For instance, if you have defined a
custom class of model `NewModel`, make sure you have a `NewModelConfig` then you can add those to the auto
classes like this:

```python
from transformers import AutoConfig, AutoModel

AutoConfig.register("new-model", NewModelConfig)
AutoModel.register(NewModelConfig, NewModel)
```

You will then be able to use the auto classes like you would usually do!

<Tip warning={true}>

If your `NewModelConfig` is a subclass of [`~transformer.PretrainedConfig`], make sure its
`model_type` attribute is set to the same key you use when registering the config (here `"new-model"`).

Likewise, if your `NewModel` is a subclass of [`PreTrainedModel`], make sure its
`config_class` attribute is set to the same class you use when registering the model (here
`NewModelConfig`).

</Tip>

## AutoConfig

[[autodoc]] AutoConfig

## AutoTokenizer

[[autodoc]] AutoTokenizer

## AutoFeatureExtractor

[[autodoc]] AutoFeatureExtractor

amyeroberts's avatar
amyeroberts committed
73
74
75
76
## AutoImageProcessor

[[autodoc]] AutoImageProcessor

77
78
79
80
## AutoProcessor

[[autodoc]] AutoProcessor

81
82
83
84
85
## Generic model classes

The following auto classes are available for instantiating a base model class without a specific head.

### AutoModel
86
87
88

[[autodoc]] AutoModel

89
90
91
92
93
94
95
96
97
98
99
100
101
### TFAutoModel

[[autodoc]] TFAutoModel

### FlaxAutoModel

[[autodoc]] FlaxAutoModel

## Generic pretraining classes

The following auto classes are available for instantiating a model with a pretraining head.

### AutoModelForPreTraining
102
103
104

[[autodoc]] AutoModelForPreTraining

105
### TFAutoModelForPreTraining
106

107
[[autodoc]] TFAutoModelForPreTraining
108

109
### FlaxAutoModelForPreTraining
110

111
[[autodoc]] FlaxAutoModelForPreTraining
112

113
## Natural Language Processing
114

115
The following auto classes are available for the following natural language processing tasks.
116

117
### AutoModelForCausalLM
118

119
[[autodoc]] AutoModelForCausalLM
120

121
### TFAutoModelForCausalLM
122

123
[[autodoc]] TFAutoModelForCausalLM
124

125
### FlaxAutoModelForCausalLM
126

127
[[autodoc]] FlaxAutoModelForCausalLM
128

129
### AutoModelForMaskedLM
130

131
[[autodoc]] AutoModelForMaskedLM
132

133
### TFAutoModelForMaskedLM
134

135
[[autodoc]] TFAutoModelForMaskedLM
136

137
### FlaxAutoModelForMaskedLM
138

139
[[autodoc]] FlaxAutoModelForMaskedLM
140

141
142
143
144
### AutoModelForMaskGeneration

[[autodoc]] AutoModelForMaskGeneration

145
### AutoModelForSeq2SeqLM
146

147
[[autodoc]] AutoModelForSeq2SeqLM
148

149
### TFAutoModelForSeq2SeqLM
150

151
[[autodoc]] TFAutoModelForSeq2SeqLM
152

153
### FlaxAutoModelForSeq2SeqLM
154

155
[[autodoc]] FlaxAutoModelForSeq2SeqLM
156

157
### AutoModelForSequenceClassification
NielsRogge's avatar
NielsRogge committed
158

159
[[autodoc]] AutoModelForSequenceClassification
NielsRogge's avatar
NielsRogge committed
160

161
### TFAutoModelForSequenceClassification
162

163
[[autodoc]] TFAutoModelForSequenceClassification
164

165
### FlaxAutoModelForSequenceClassification
166

167
[[autodoc]] FlaxAutoModelForSequenceClassification
168

169
### AutoModelForMultipleChoice
170

171
[[autodoc]] AutoModelForMultipleChoice
172

173
### TFAutoModelForMultipleChoice
174

175
[[autodoc]] TFAutoModelForMultipleChoice
176

177
### FlaxAutoModelForMultipleChoice
178

179
[[autodoc]] FlaxAutoModelForMultipleChoice
180

181
### AutoModelForNextSentencePrediction
182

183
[[autodoc]] AutoModelForNextSentencePrediction
184

185
### TFAutoModelForNextSentencePrediction
186

187
[[autodoc]] TFAutoModelForNextSentencePrediction
188

189
### FlaxAutoModelForNextSentencePrediction
NielsRogge's avatar
NielsRogge committed
190

191
[[autodoc]] FlaxAutoModelForNextSentencePrediction
NielsRogge's avatar
NielsRogge committed
192

193
### AutoModelForTokenClassification
194

195
[[autodoc]] AutoModelForTokenClassification
196

197
### TFAutoModelForTokenClassification
198

199
[[autodoc]] TFAutoModelForTokenClassification
200

201
### FlaxAutoModelForTokenClassification
202

203
[[autodoc]] FlaxAutoModelForTokenClassification
204

205
### AutoModelForQuestionAnswering
206

207
[[autodoc]] AutoModelForQuestionAnswering
208

209
### TFAutoModelForQuestionAnswering
210

211
[[autodoc]] TFAutoModelForQuestionAnswering
212

213
### FlaxAutoModelForQuestionAnswering
214

215
[[autodoc]] FlaxAutoModelForQuestionAnswering
216

217
## Computer vision
218

219
The following auto classes are available for the following computer vision tasks.
220

221
### AutoModelForDepthEstimation
222

223
[[autodoc]] AutoModelForDepthEstimation
224

225
226
227
228
229
### AutoModelForImageClassification

[[autodoc]] AutoModelForImageClassification

### TFAutoModelForImageClassification
230
231
232

[[autodoc]] TFAutoModelForImageClassification

233
### FlaxAutoModelForImageClassification
234

235
[[autodoc]] FlaxAutoModelForImageClassification
236

237
### AutoModelForVideoClassification
238

239
[[autodoc]] AutoModelForVideoClassification
240

241
### AutoModelForMaskedImageModeling
242

243
[[autodoc]] AutoModelForMaskedImageModeling
244

245
### AutoModelForObjectDetection
246

247
[[autodoc]] AutoModelForObjectDetection
248

249
### AutoModelForImageSegmentation
250

251
[[autodoc]] AutoModelForImageSegmentation
252

253
### AutoModelForSemanticSegmentation
254

255
[[autodoc]] AutoModelForSemanticSegmentation
256

257
### TFAutoModelForSemanticSegmentation
258

259
[[autodoc]] TFAutoModelForSemanticSegmentation
260

261
### AutoModelForInstanceSegmentation
262

263
[[autodoc]] AutoModelForInstanceSegmentation
264

265
266
267
268
### AutoModelForUniversalSegmentation

[[autodoc]] AutoModelForUniversalSegmentation

269
270
271
272
273
274
275
276
### AutoModelForZeroShotImageClassification

[[autodoc]] AutoModelForZeroShotImageClassification

### TFAutoModelForZeroShotImageClassification

[[autodoc]] TFAutoModelForZeroShotImageClassification

277
### AutoModelForZeroShotObjectDetection
278

279
[[autodoc]] AutoModelForZeroShotObjectDetection
280

281
## Audio
282

283
The following auto classes are available for the following audio tasks.
284

285
### AutoModelForAudioClassification
286

287
[[autodoc]] AutoModelForAudioClassification
288

289
### AutoModelForAudioFrameClassification
Joao Gante's avatar
Joao Gante committed
290

291
[[autodoc]] AutoModelForAudioFrameClassification
Joao Gante's avatar
Joao Gante committed
292

293
### AutoModelForCTC
294

295
[[autodoc]] AutoModelForCTC
296

297
### AutoModelForSpeechSeq2Seq
298

299
[[autodoc]] AutoModelForSpeechSeq2Seq
300

301
### TFAutoModelForSpeechSeq2Seq
302

303
[[autodoc]] TFAutoModelForSpeechSeq2Seq
304

305
306
307
308
### FlaxAutoModelForSpeechSeq2Seq

[[autodoc]] FlaxAutoModelForSpeechSeq2Seq

309
### AutoModelForAudioXVector
310

311
[[autodoc]] AutoModelForAudioXVector
312

313
## Multimodal
314

315
The following auto classes are available for the following multimodal tasks.
316

317
### AutoModelForTableQuestionAnswering
318

319
[[autodoc]] AutoModelForTableQuestionAnswering
320

321
### TFAutoModelForTableQuestionAnswering
322

323
[[autodoc]] TFAutoModelForTableQuestionAnswering
324

325
### AutoModelForDocumentQuestionAnswering
326

327
[[autodoc]] AutoModelForDocumentQuestionAnswering
328

329
### TFAutoModelForDocumentQuestionAnswering
330

331
[[autodoc]] TFAutoModelForDocumentQuestionAnswering
332

333
### AutoModelForVisualQuestionAnswering
334

335
[[autodoc]] AutoModelForVisualQuestionAnswering
336

337
### AutoModelForVision2Seq
338

339
340
341
342
343
[[autodoc]] AutoModelForVision2Seq

### TFAutoModelForVision2Seq

[[autodoc]] TFAutoModelForVision2Seq
344

345
### FlaxAutoModelForVision2Seq
346
347

[[autodoc]] FlaxAutoModelForVision2Seq