8.5 KiB
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
model = AutoModel.from_pretrained("google-bert/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:
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 [~transformers.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
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
AutoModelForMaskGeneration
autodoc AutoModelForMaskGeneration
TFAutoModelForMaskGeneration
autodoc TFAutoModelForMaskGeneration
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
AutoModelForTextEncoding
autodoc AutoModelForTextEncoding
TFAutoModelForTextEncoding
autodoc TFAutoModelForTextEncoding
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
AutoModelForKeypointDetection
autodoc AutoModelForKeypointDetection
AutoModelForMaskedImageModeling
autodoc AutoModelForMaskedImageModeling
TFAutoModelForMaskedImageModeling
autodoc TFAutoModelForMaskedImageModeling
AutoModelForObjectDetection
autodoc AutoModelForObjectDetection
AutoModelForImageSegmentation
autodoc AutoModelForImageSegmentation
AutoModelForImageToImage
autodoc AutoModelForImageToImage
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 TFAutoModelForAudioClassification
TFAutoModelForAudioFrameClassification
autodoc AutoModelForAudioFrameClassification
AutoModelForCTC
autodoc AutoModelForCTC
AutoModelForSpeechSeq2Seq
autodoc AutoModelForSpeechSeq2Seq
TFAutoModelForSpeechSeq2Seq
autodoc TFAutoModelForSpeechSeq2Seq
FlaxAutoModelForSpeechSeq2Seq
autodoc FlaxAutoModelForSpeechSeq2Seq
AutoModelForAudioXVector
autodoc AutoModelForAudioXVector
AutoModelForTextToSpectrogram
autodoc AutoModelForTextToSpectrogram
AutoModelForTextToWaveform
autodoc AutoModelForTextToWaveform
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