


"""simple docstring"""







from ...configuration_utils import PretrainedConfig
from ...utils import logging


lowerCamelCase_     :     int  		=						logging.get_logger(__name__)

lowerCamelCase_     :     Optional[Any]  		=						{
    """dandelin/vilt-b32-mlm""": """https://huggingface.co/dandelin/vilt-b32-mlm/blob/main/config.json"""
}






class    __A       ( _SCREAMING_SNAKE_CASE    ):






 """simple docstring"""




 __lowerCAmelCase				      =						"vilt"


 def __init__(	self				,					__A=3_0522				,					__A=2				,					__A=2				,					__A=40				,					__A=768				,					__A=12				,					__A=12				,					__A=3072				,					__A="gelu"				,					__A=0.0				,					__A=0.0				,					__A=0.02				,					__A=1E-1_2				,					__A=384				,					__A=32				,					__A=3				,					__A=True				,					__A=-1				,					__A=False				,					__A=-1				,					**__A				,					)      ->  Dict:
     super().__init__(tie_word_embeddings=__A				,					**__A		)

     a					=vocab_size
     a					=type_vocab_size
     a					=modality_type_vocab_size
     a					=max_position_embeddings

     a					=hidden_size
     a					=num_hidden_layers
     a					=num_attention_heads
     a					=intermediate_size
     a					=hidden_act
     a					=hidden_dropout_prob
     a					=attention_probs_dropout_prob
     a					=initializer_range
     a					=layer_norm_eps

     a					=image_size
     a					=patch_size
     a					=num_channels
     a					=qkv_bias
     a					=max_image_length
     a					=num_images



"""simple docstring"""







import copy

from transformers.configuration_utils import PretrainedConfig
from transformers.utils import logging


lowerCamelCase_     :     int    		=						logging.get_logger(__name__)






class    __A       ( _SCREAMING_SNAKE_CASE    ):






 """simple docstring"""




 __lowerCAmelCase				      =						"hybrid-clip"
 __lowerCAmelCase				      =						True


 def __init__(	self				,					__A=512				,					**__A		)      ->  Any:
     super().__init__(**__A		)

     if "text_config" not in kwargs:
         raise ValueError('''`text_config` can not be `None`.'''		)

     if "vision_config" not in kwargs:
         raise ValueError('''`vision_config` can not be `None`.'''		)

     a					=kwargs.pop('''text_config'''		)
     a					=kwargs.pop('''vision_config'''		)

     a					=text_config.pop('''model_type'''		)
     a					=vision_config.pop('''model_type'''		)

     from transformers import AutoConfig

     a					=AutoConfig.for_model(__A				,					**__A		)

     if vision_model_type == "clip":
         a					=AutoConfig.for_model(__A				,					**__A		).vision_config
     elif vision_model_type == "clip_vision_model":
         from transformers import CLIPVisionConfig

         a					=CLIPVisionConfig(**__A		)
     else:
         a					=AutoConfig.for_model(__A				,					**__A		)

     a					=projection_dim
     a					=1.0


 @classmethod
 def    SCREAMING_SNAKE_CASE							(	cls				,					__A				,					__A				,					**__A		)      ->  Tuple:
     return cls(text_config=text_config.to_dict()				,					vision_config=vision_config.to_dict()				,					**__A		)





 def    SCREAMING_SNAKE_CASE							(	self		)      ->  Optional[int]:
     a					=copy.deepcopy(self.__dict__		)
     a					=self.text_config.to_dict()
     a					=self.vision_config.to_dict()
     a					=self.__class__.model_type
     return output