| # Copyright 2024 Microsoft. All rights reserved. | |
| # Licensed under the MSRLA License. See LICENSE in the repo root for license information. | |
| from typing import Any | |
| from transformers import LlavaConfig | |
| class Maira2Config(LlavaConfig): | |
| """ | |
| This is the configuration class to store the configuration of a `Maira2ForConditionalGeneration` model. It is | |
| used to instantiate a MAIRA-2 model according to the specified arguments, defining the model architecture. | |
| It inherits from `LlavaConfig`. In addition to the inherited attributes, it adds the | |
| ability to customize the multimodal projector through following attributes: | |
| Args: | |
| projector_n_layers (`int`, *optional*, defaults to 4): | |
| Number of layers in the multimodal projector. | |
| """ | |
| model_type = "maira2" | |
| def __init__( | |
| self, | |
| projector_n_layers: int = 4, | |
| **kwargs: Any, | |
| ) -> None: | |
| super().__init__(**kwargs) | |
| self.hidden_size = self.text_config.hidden_size | |
| self.projector_n_layers = projector_n_layers | |