Spaces:
Runtime error
Runtime error
| <!--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. | |
| --> | |
| # 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 | |
| model = AutoModel.from_pretrained("bert-base-cased") | |
| ``` | |
| 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 | |
| ## AutoImageProcessor | |
| [[autodoc]] AutoImageProcessor | |
| ## AutoProcessor | |
| [[autodoc]] AutoProcessor | |
| ## Generic model classes | |
| The following auto classes are available for instantiating a base model class without a specific head. | |
| ### AutoModel | |
| [[autodoc]] AutoModel | |
| ### TFAutoModel | |
| [[autodoc]] TFAutoModel | |
| ### FlaxAutoModel | |
| [[autodoc]] FlaxAutoModel | |
| ## Generic pretraining classes | |
| The following auto classes are available for instantiating a model with a pretraining head. | |
| ### AutoModelForPreTraining | |
| [[autodoc]] AutoModelForPreTraining | |
| ### TFAutoModelForPreTraining | |
| [[autodoc]] TFAutoModelForPreTraining | |
| ### FlaxAutoModelForPreTraining | |
| [[autodoc]] FlaxAutoModelForPreTraining | |
| ## Natural Language Processing | |
| The following auto classes are available for the following natural language processing tasks. | |
| ### AutoModelForCausalLM | |
| [[autodoc]] AutoModelForCausalLM | |
| ### TFAutoModelForCausalLM | |
| [[autodoc]] TFAutoModelForCausalLM | |
| ### FlaxAutoModelForCausalLM | |
| [[autodoc]] FlaxAutoModelForCausalLM | |
| ### AutoModelForMaskedLM | |
| [[autodoc]] AutoModelForMaskedLM | |
| ### TFAutoModelForMaskedLM | |
| [[autodoc]] TFAutoModelForMaskedLM | |
| ### FlaxAutoModelForMaskedLM | |
| [[autodoc]] FlaxAutoModelForMaskedLM | |
| ### AutoModelForSeq2SeqLM | |
| [[autodoc]] AutoModelForSeq2SeqLM | |
| ### TFAutoModelForSeq2SeqLM | |
| [[autodoc]] TFAutoModelForSeq2SeqLM | |
| ### FlaxAutoModelForSeq2SeqLM | |
| [[autodoc]] FlaxAutoModelForSeq2SeqLM | |
| ### AutoModelForSequenceClassification | |
| [[autodoc]] AutoModelForSequenceClassification | |
| ### TFAutoModelForSequenceClassification | |
| [[autodoc]] TFAutoModelForSequenceClassification | |
| ### FlaxAutoModelForSequenceClassification | |
| [[autodoc]] FlaxAutoModelForSequenceClassification | |
| ### AutoModelForMultipleChoice | |
| [[autodoc]] AutoModelForMultipleChoice | |
| ### TFAutoModelForMultipleChoice | |
| [[autodoc]] TFAutoModelForMultipleChoice | |
| ### FlaxAutoModelForMultipleChoice | |
| [[autodoc]] FlaxAutoModelForMultipleChoice | |
| ### AutoModelForNextSentencePrediction | |
| [[autodoc]] AutoModelForNextSentencePrediction | |
| ### TFAutoModelForNextSentencePrediction | |
| [[autodoc]] TFAutoModelForNextSentencePrediction | |
| ### FlaxAutoModelForNextSentencePrediction | |
| [[autodoc]] FlaxAutoModelForNextSentencePrediction | |
| ### AutoModelForTokenClassification | |
| [[autodoc]] AutoModelForTokenClassification | |
| ### TFAutoModelForTokenClassification | |
| [[autodoc]] TFAutoModelForTokenClassification | |
| ### FlaxAutoModelForTokenClassification | |
| [[autodoc]] FlaxAutoModelForTokenClassification | |
| ### AutoModelForQuestionAnswering | |
| [[autodoc]] AutoModelForQuestionAnswering | |
| ### TFAutoModelForQuestionAnswering | |
| [[autodoc]] TFAutoModelForQuestionAnswering | |
| ### FlaxAutoModelForQuestionAnswering | |
| [[autodoc]] FlaxAutoModelForQuestionAnswering | |
| ## Computer vision | |
| The following auto classes are available for the following computer vision tasks. | |
| ### AutoModelForDepthEstimation | |
| [[autodoc]] AutoModelForDepthEstimation | |
| ### AutoModelForImageClassification | |
| [[autodoc]] AutoModelForImageClassification | |
| ### TFAutoModelForImageClassification | |
| [[autodoc]] TFAutoModelForImageClassification | |
| ### FlaxAutoModelForImageClassification | |
| [[autodoc]] FlaxAutoModelForImageClassification | |
| ### AutoModelForVideoClassification | |
| [[autodoc]] AutoModelForVideoClassification | |
| ### AutoModelForMaskedImageModeling | |
| [[autodoc]] AutoModelForMaskedImageModeling | |
| ### AutoModelForObjectDetection | |
| [[autodoc]] AutoModelForObjectDetection | |
| ### AutoModelForImageSegmentation | |
| [[autodoc]] AutoModelForImageSegmentation | |
| ### AutoModelForSemanticSegmentation | |
| [[autodoc]] AutoModelForSemanticSegmentation | |
| ### TFAutoModelForSemanticSegmentation | |
| [[autodoc]] TFAutoModelForSemanticSegmentation | |
| ### AutoModelForInstanceSegmentation | |
| [[autodoc]] AutoModelForInstanceSegmentation | |
| ### AutoModelForUniversalSegmentation | |
| [[autodoc]] AutoModelForUniversalSegmentation | |
| ### AutoModelForZeroShotImageClassification | |
| [[autodoc]] AutoModelForZeroShotImageClassification | |
| ### TFAutoModelForZeroShotImageClassification | |
| [[autodoc]] TFAutoModelForZeroShotImageClassification | |
| ### AutoModelForZeroShotObjectDetection | |
| [[autodoc]] AutoModelForZeroShotObjectDetection | |
| ## Audio | |
| The following auto classes are available for the following audio tasks. | |
| ### AutoModelForAudioClassification | |
| [[autodoc]] AutoModelForAudioClassification | |
| ### AutoModelForAudioFrameClassification | |
| [[autodoc]] AutoModelForAudioFrameClassification | |
| ### AutoModelForCTC | |
| [[autodoc]] AutoModelForCTC | |
| ### AutoModelForSpeechSeq2Seq | |
| [[autodoc]] AutoModelForSpeechSeq2Seq | |
| ### TFAutoModelForSpeechSeq2Seq | |
| [[autodoc]] TFAutoModelForSpeechSeq2Seq | |
| ### FlaxAutoModelForSpeechSeq2Seq | |
| [[autodoc]] FlaxAutoModelForSpeechSeq2Seq | |
| ### AutoModelForAudioXVector | |
| [[autodoc]] AutoModelForAudioXVector | |
| ## Multimodal | |
| The following auto classes are available for the following multimodal tasks. | |
| ### AutoModelForTableQuestionAnswering | |
| [[autodoc]] AutoModelForTableQuestionAnswering | |
| ### TFAutoModelForTableQuestionAnswering | |
| [[autodoc]] TFAutoModelForTableQuestionAnswering | |
| ### AutoModelForDocumentQuestionAnswering | |
| [[autodoc]] AutoModelForDocumentQuestionAnswering | |
| ### TFAutoModelForDocumentQuestionAnswering | |
| [[autodoc]] TFAutoModelForDocumentQuestionAnswering | |
| ### AutoModelForVisualQuestionAnswering | |
| [[autodoc]] AutoModelForVisualQuestionAnswering | |
| ### AutoModelForVision2Seq | |
| [[autodoc]] AutoModelForVision2Seq | |
| ### TFAutoModelForVision2Seq | |
| [[autodoc]] TFAutoModelForVision2Seq | |
| ### FlaxAutoModelForVision2Seq | |
| [[autodoc]] FlaxAutoModelForVision2Seq | |