graph LR
AutoModel["AutoModel"]
AutoTokenizer["AutoTokenizer"]
AutoProcessor["AutoProcessor"]
PreTrainedModel["PreTrainedModel"]
PreTrainedTokenizer["PreTrainedTokenizer"]
PretrainedConfig["PretrainedConfig"]
Processor_Classes["Processor Classes"]
AutoModel -- "instantiates" --> PreTrainedModel
AutoModel -- "uses" --> PretrainedConfig
AutoTokenizer -- "instantiates" --> PreTrainedTokenizer
AutoProcessor -- "instantiates" --> Processor_Classes
AutoProcessor -- "uses" --> AutoTokenizer
PreTrainedModel -- "instantiated by" --> AutoModel
PreTrainedModel -- "uses" --> PretrainedConfig
PreTrainedTokenizer -- "instantiated by" --> AutoTokenizer
PretrainedConfig -- "used by" --> AutoModel
PretrainedConfig -- "used by" --> PreTrainedModel
Processor_Classes -- "instantiated by" --> AutoProcessor
Processor_Classes -- "may use" --> PreTrainedTokenizer
The transformers library's core architecture for model and data preparation revolves around a set of "Auto" factory classes and their corresponding abstract base components. AutoModel serves as the central entry point for loading pre-trained deep learning models, dynamically instantiating concrete PreTrainedModel subclasses based on a PretrainedConfig. Similarly, AutoTokenizer handles the loading and instantiation of PreTrainedTokenizer subclasses for text processing. For multi-modal data preparation, AutoProcessor acts as a factory, instantiating various Processor Classes (represented by mixins like ImageProcessingMixin) that encapsulate data transformation logic, often leveraging AutoTokenizer internally. This design promotes flexibility and extensibility, allowing new models, tokenizers, and processors to be integrated seamlessly without modifying core logic. The PretrainedConfig component is fundamental, providing the necessary metadata and architectural parameters for both AutoModel and PreTrainedModel to ensure correct initialization and operation.
The primary factory component responsible for inferring and instantiating the correct PreTrainedModel subclass based on a model identifier or configuration. It handles loading pre-trained weights and configurations.
Related Classes/Methods:
The primary factory component for inferring and instantiating the appropriate PreTrainedTokenizer subclass. It manages the loading of tokenizer-specific files like vocabulary and special tokens.
Related Classes/Methods:
The primary factory component for inferring and instantiating multi-modal Processor Classes. These processors often combine tokenization and feature extraction logic, coordinating the preparation of diverse input types.
Related Classes/Methods:
An abstract base class defining the common interface and core functionalities for all pre-trained deep learning models within the library. AutoModel instantiates concrete subclasses of this component.
Related Classes/Methods:
An abstract base class establishing the standard interface for all tokenizers. AutoTokenizer instantiates concrete subclasses of this component, ensuring consistent text processing.
Related Classes/Methods:
An abstract base class representing the configuration for models. It encapsulates architectural parameters and metadata, loaded and used by AutoModel to correctly initialize PreTrainedModel instances.
Related Classes/Methods:
Abstract base classes or mixins that define the common interface for data preparation components, often combining tokenization and feature extraction. These are instantiated by AutoProcessor.
Related Classes/Methods: