



"""simple docstring"""






from ...configuration_utils import PretrainedConfig
from ...utils import logging
from ...utils.backbone_utils import BackboneConfigMixin, get_aligned_output_features_output_indices


__snake_case				:  str =       logging.get_logger(__name__)



class      A__  (    __SCREAMING_SNAKE_CASE    ,						__SCREAMING_SNAKE_CASE				):




	'''simple docstring'''





	SCREAMING_SNAKE_CASE        =      'maskformer-swin'

	SCREAMING_SNAKE_CASE        =      {
	    'num_attention_heads': 'num_heads',
	    'num_hidden_layers': 'num_layers',
	}

	def __init__(	self:						Union[str, Any]			,     _SCREAMING_SNAKE_CASE:						List[Any]=224			,     _SCREAMING_SNAKE_CASE:						List[Any]=4			,     _SCREAMING_SNAKE_CASE:						Dict=3			,     _SCREAMING_SNAKE_CASE:						Optional[Any]=96			,     _SCREAMING_SNAKE_CASE:						Union[str, Any]=[2, 2, 6, 2]			,     _SCREAMING_SNAKE_CASE:						Any=[3, 6, 12, 24]			,     _SCREAMING_SNAKE_CASE:						str=7			,     _SCREAMING_SNAKE_CASE:						Optional[Any]=4.0			,     _SCREAMING_SNAKE_CASE:						List[str]=True			,     _SCREAMING_SNAKE_CASE:						Dict=0.0			,     _SCREAMING_SNAKE_CASE:						Any=0.0			,     _SCREAMING_SNAKE_CASE:						Optional[int]=0.1			,     _SCREAMING_SNAKE_CASE:						Dict="gelu"			,     _SCREAMING_SNAKE_CASE:						List[Any]=False			,     _SCREAMING_SNAKE_CASE:						str=0.02			,     _SCREAMING_SNAKE_CASE:						Optional[Any]=1e-5			,     _SCREAMING_SNAKE_CASE:						int=None			,     _SCREAMING_SNAKE_CASE:						Dict=None			,     **_SCREAMING_SNAKE_CASE:						List[str]			,     )							->			int:

				"""simple docstring"""

				super().__init__(**_SCREAMING_SNAKE_CASE)

				__lowerCAmelCase :    str				=			image_size
				__lowerCAmelCase :    int				=			patch_size
				__lowerCAmelCase :    Dict				=			num_channels
				__lowerCAmelCase :    Any				=			embed_dim
				__lowerCAmelCase :    Any				=			depths
				__lowerCAmelCase :    List[Any]				=			len(_SCREAMING_SNAKE_CASE)
				__lowerCAmelCase :    Optional[int]				=			num_heads
				__lowerCAmelCase :    Union[str, Any]				=			window_size
				__lowerCAmelCase :    Union[str, Any]				=			mlp_ratio
				__lowerCAmelCase :    Any				=			qkv_bias
				__lowerCAmelCase :    Any				=			hidden_dropout_prob
				__lowerCAmelCase :    Dict				=			attention_probs_dropout_prob
				__lowerCAmelCase :    List[Any]				=			drop_path_rate
				__lowerCAmelCase :    List[str]				=			hidden_act
				__lowerCAmelCase :    List[str]				=			use_absolute_embeddings
				__lowerCAmelCase :    List[str]				=			layer_norm_eps
				__lowerCAmelCase :    Dict				=			initializer_range
				# we set the hidden_size attribute in order to make Swin work with VisionEncoderDecoderModel
				# this indicates the channel dimension after the last stage of the model
				__lowerCAmelCase :    List[str]				=			int(embed_dim * 2 ** (len(_SCREAMING_SNAKE_CASE) - 1))
				__lowerCAmelCase :    str				=			["stem"] + [F"""stage{idx}""" for idx in range(1			,     len(_SCREAMING_SNAKE_CASE) + 1)]
				__lowerCAmelCase		,      __lowerCAmelCase :    str				=			get_aligned_output_features_output_indices(
				    out_features=_SCREAMING_SNAKE_CASE			,     out_indices=_SCREAMING_SNAKE_CASE			,     stage_names=self.stage_names)




"""simple docstring"""






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


__snake_case				:  Dict =       logging.get_logger(__name__)

__snake_case				:  int =       {
    'uclanlp/visualbert-vqa': 'https://huggingface.co/uclanlp/visualbert-vqa/resolve/main/config.json',
    'uclanlp/visualbert-vqa-pre': 'https://huggingface.co/uclanlp/visualbert-vqa-pre/resolve/main/config.json',
    'uclanlp/visualbert-vqa-coco-pre': (
        'https://huggingface.co/uclanlp/visualbert-vqa-coco-pre/resolve/main/config.json'
    ),
    'uclanlp/visualbert-vcr': 'https://huggingface.co/uclanlp/visualbert-vcr/resolve/main/config.json',
    'uclanlp/visualbert-vcr-pre': 'https://huggingface.co/uclanlp/visualbert-vcr-pre/resolve/main/config.json',
    'uclanlp/visualbert-vcr-coco-pre': (
        'https://huggingface.co/uclanlp/visualbert-vcr-coco-pre/resolve/main/config.json'
    ),
    'uclanlp/visualbert-nlvr2': 'https://huggingface.co/uclanlp/visualbert-nlvr2/resolve/main/config.json',
    'uclanlp/visualbert-nlvr2-pre': 'https://huggingface.co/uclanlp/visualbert-nlvr2-pre/resolve/main/config.json',
    'uclanlp/visualbert-nlvr2-coco-pre': (
        'https://huggingface.co/uclanlp/visualbert-nlvr2-coco-pre/resolve/main/config.json'
    )
    # See all VisualBERT models at https://huggingface.co/models?filter=visual_bert
}



class      A__  (    __SCREAMING_SNAKE_CASE				):




	'''simple docstring'''





	SCREAMING_SNAKE_CASE        =      'visual_bert'

	def __init__(	self:						int			,     _SCREAMING_SNAKE_CASE:						Dict=3_0522			,     _SCREAMING_SNAKE_CASE:						Union[str, Any]=768			,     _SCREAMING_SNAKE_CASE:						List[str]=512			,     _SCREAMING_SNAKE_CASE:						Optional[int]=12			,     _SCREAMING_SNAKE_CASE:						List[str]=12			,     _SCREAMING_SNAKE_CASE:						Tuple=3072			,     _SCREAMING_SNAKE_CASE:						Union[str, Any]="gelu"			,     _SCREAMING_SNAKE_CASE:						Tuple=0.1			,     _SCREAMING_SNAKE_CASE:						str=0.1			,     _SCREAMING_SNAKE_CASE:						List[Any]=512			,     _SCREAMING_SNAKE_CASE:						Any=2			,     _SCREAMING_SNAKE_CASE:						Optional[int]=0.02			,     _SCREAMING_SNAKE_CASE:						Union[str, Any]=1e-12			,     _SCREAMING_SNAKE_CASE:						List[str]=False			,     _SCREAMING_SNAKE_CASE:						int=True			,     _SCREAMING_SNAKE_CASE:						str=1			,     _SCREAMING_SNAKE_CASE:						Tuple=0			,     _SCREAMING_SNAKE_CASE:						Any=2			,     **_SCREAMING_SNAKE_CASE:						List[str]			,     )							->			str:

				"""simple docstring"""

				super().__init__(pad_token_id=_SCREAMING_SNAKE_CASE			,     bos_token_id=_SCREAMING_SNAKE_CASE			,     eos_token_id=_SCREAMING_SNAKE_CASE			,     **_SCREAMING_SNAKE_CASE)

				__lowerCAmelCase :    str				=			vocab_size
				__lowerCAmelCase :    Tuple				=			max_position_embeddings
				__lowerCAmelCase :    Any				=			hidden_size
				__lowerCAmelCase :    Union[str, Any]				=			visual_embedding_dim
				__lowerCAmelCase :    List[str]				=			num_hidden_layers
				__lowerCAmelCase :    Optional[int]				=			num_attention_heads
				__lowerCAmelCase :    str				=			intermediate_size
				__lowerCAmelCase :    int				=			hidden_act
				__lowerCAmelCase :    Union[str, Any]				=			hidden_dropout_prob
				__lowerCAmelCase :    int				=			attention_probs_dropout_prob
				__lowerCAmelCase :    List[Any]				=			initializer_range
				__lowerCAmelCase :    Dict				=			type_vocab_size
				__lowerCAmelCase :    Optional[int]				=			layer_norm_eps
				__lowerCAmelCase :    Union[str, Any]				=			bypass_transformer
				__lowerCAmelCase :    List[str]				=			special_visual_initialize