# 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! 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`). ## AutoConfig [[autodoc]] AutoConfig ## AutoTokenizer [[autodoc]] AutoTokenizer ## AutoFeatureExtractor [[autodoc]] AutoFeatureExtractor ## AutoImageProcessor [[autodoc]] AutoImageProcessor ## AutoProcessor [[autodoc]] AutoProcessor ## AutoModel [[autodoc]] AutoModel ## AutoModelForPreTraining [[autodoc]] AutoModelForPreTraining ## AutoModelForCausalLM [[autodoc]] AutoModelForCausalLM ## AutoModelForDepthEstimation [[autodoc]] AutoModelForDepthEstimation ## AutoModelForMaskedLM [[autodoc]] AutoModelForMaskedLM ## AutoModelForSeq2SeqLM [[autodoc]] AutoModelForSeq2SeqLM ## AutoModelForSequenceClassification [[autodoc]] AutoModelForSequenceClassification ## AutoModelForMultipleChoice [[autodoc]] AutoModelForMultipleChoice ## AutoModelForNextSentencePrediction [[autodoc]] AutoModelForNextSentencePrediction ## AutoModelForTokenClassification [[autodoc]] AutoModelForTokenClassification ## AutoModelForQuestionAnswering [[autodoc]] AutoModelForQuestionAnswering ## AutoModelForTableQuestionAnswering [[autodoc]] AutoModelForTableQuestionAnswering ## AutoModelForDocumentQuestionAnswering [[autodoc]] AutoModelForDocumentQuestionAnswering ## AutoModelForImageClassification [[autodoc]] AutoModelForImageClassification ## AutoModelForVideoClassification [[autodoc]] AutoModelForVideoClassification ## AutoModelForVision2Seq [[autodoc]] AutoModelForVision2Seq ## AutoModelForVisualQuestionAnswering [[autodoc]] AutoModelForVisualQuestionAnswering ## AutoModelForAudioClassification [[autodoc]] AutoModelForAudioClassification ## AutoModelForAudioFrameClassification [[autodoc]] AutoModelForAudioFrameClassification ## AutoModelForCTC [[autodoc]] AutoModelForCTC ## AutoModelForSpeechSeq2Seq [[autodoc]] AutoModelForSpeechSeq2Seq ## AutoModelForAudioXVector [[autodoc]] AutoModelForAudioXVector ## AutoModelForMaskedImageModeling [[autodoc]] AutoModelForMaskedImageModeling ## AutoModelForObjectDetection [[autodoc]] AutoModelForObjectDetection ## AutoModelForImageSegmentation [[autodoc]] AutoModelForImageSegmentation ## AutoModelForSemanticSegmentation [[autodoc]] AutoModelForSemanticSegmentation ## AutoModelForInstanceSegmentation [[autodoc]] AutoModelForInstanceSegmentation ## AutoModelForZeroShotObjectDetection [[autodoc]] AutoModelForZeroShotObjectDetection ## TFAutoModel [[autodoc]] TFAutoModel ## TFAutoModelForPreTraining [[autodoc]] TFAutoModelForPreTraining ## TFAutoModelForCausalLM [[autodoc]] TFAutoModelForCausalLM ## TFAutoModelForImageClassification [[autodoc]] TFAutoModelForImageClassification ## TFAutoModelForSemanticSegmentation [[autodoc]] TFAutoModelForSemanticSegmentation ## TFAutoModelForMaskedLM [[autodoc]] TFAutoModelForMaskedLM ## TFAutoModelForSeq2SeqLM [[autodoc]] TFAutoModelForSeq2SeqLM ## TFAutoModelForSequenceClassification [[autodoc]] TFAutoModelForSequenceClassification ## TFAutoModelForMultipleChoice [[autodoc]] TFAutoModelForMultipleChoice ## TFAutoModelForNextSentencePrediction [[autodoc]] TFAutoModelForNextSentencePrediction ## TFAutoModelForTableQuestionAnswering [[autodoc]] TFAutoModelForTableQuestionAnswering ## TFAutoModelForDocumentQuestionAnswering [[autodoc]] TFAutoModelForDocumentQuestionAnswering ## TFAutoModelForTokenClassification [[autodoc]] TFAutoModelForTokenClassification ## TFAutoModelForQuestionAnswering [[autodoc]] TFAutoModelForQuestionAnswering ## TFAutoModelForVision2Seq [[autodoc]] TFAutoModelForVision2Seq ## TFAutoModelForSpeechSeq2Seq [[autodoc]] TFAutoModelForSpeechSeq2Seq ## FlaxAutoModel [[autodoc]] FlaxAutoModel ## FlaxAutoModelForCausalLM [[autodoc]] FlaxAutoModelForCausalLM ## FlaxAutoModelForPreTraining [[autodoc]] FlaxAutoModelForPreTraining ## FlaxAutoModelForMaskedLM [[autodoc]] FlaxAutoModelForMaskedLM ## FlaxAutoModelForSeq2SeqLM [[autodoc]] FlaxAutoModelForSeq2SeqLM ## FlaxAutoModelForSequenceClassification [[autodoc]] FlaxAutoModelForSequenceClassification ## FlaxAutoModelForQuestionAnswering [[autodoc]] FlaxAutoModelForQuestionAnswering ## FlaxAutoModelForTokenClassification [[autodoc]] FlaxAutoModelForTokenClassification ## FlaxAutoModelForMultipleChoice [[autodoc]] FlaxAutoModelForMultipleChoice ## FlaxAutoModelForNextSentencePrediction [[autodoc]] FlaxAutoModelForNextSentencePrediction ## FlaxAutoModelForImageClassification [[autodoc]] FlaxAutoModelForImageClassification ## FlaxAutoModelForVision2Seq [[autodoc]] FlaxAutoModelForVision2Seq