


'''simple docstring'''

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


_lowerCAmelCase     :							List[str]    =				logging.get_logger(__name__)

_lowerCAmelCase     :							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 		snake_case				(    _a						):

				"""simple docstring"""




				_lowerCAmelCase           =    """visual_bert"""





				def __init__(	self       ,    lowerCamelCase=30522       ,    lowerCamelCase=768       ,    lowerCamelCase=512       ,    lowerCamelCase=12       ,    lowerCamelCase=12       ,    lowerCamelCase=3072       ,    lowerCamelCase="gelu"       ,    lowerCamelCase=0.1       ,    lowerCamelCase=0.1       ,    lowerCamelCase=512       ,    lowerCamelCase=2       ,    lowerCamelCase=0.02       ,    lowerCamelCase=1E-1_2       ,    lowerCamelCase=False       ,    lowerCamelCase=True       ,    lowerCamelCase=1       ,    lowerCamelCase=0       ,    lowerCamelCase=2       ,    **lowerCamelCase       ,    )    ->      Optional[Any]:







					"""simple docstring"""






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

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









"""simple docstring"""

def lowerCAmelCase_   (					UpperCamelCase__						:			int			):






 """simple docstring"""







 assert (
     isinstance(UpperCamelCase__					, UpperCamelCase__			) and number_of_steps > 0
 ), f'''number_of_steps needs to be positive integer, your input {number_of_steps}'''
 if number_of_steps == 1:
  return 1
 __lowercase				,		__lowercase						=						1, 1
 for _ in range(number_of_steps - 1			):
  __lowercase				,		__lowercase						=						current + previous, current
 return current


if __name__ == "__main__":
       import doctest

       doctest.testmod()
