



"""simple docstring"""





from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


lowerCamelCase  			=		{
    """configuration_blip_2""": [
        """BLIP_2_PRETRAINED_CONFIG_ARCHIVE_MAP""",
        """Blip2Config""",
        """Blip2QFormerConfig""",
        """Blip2VisionConfig""",
    ],
    """processing_blip_2""": ["""Blip2Processor"""],
}

try:
  if not is_torch_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  lowerCamelCase  			=		[
      """BLIP_2_PRETRAINED_MODEL_ARCHIVE_LIST""",
      """Blip2Model""",
      """Blip2QFormerModel""",
      """Blip2PreTrainedModel""",
      """Blip2ForConditionalGeneration""",
      """Blip2VisionModel""",
  ]

if TYPE_CHECKING:
  from .configuration_blip_a import (
      BLIP_2_PRETRAINED_CONFIG_ARCHIVE_MAP,
      BlipaConfig,
      BlipaQFormerConfig,
      BlipaVisionConfig,
  )
  from .processing_blip_a import BlipaProcessor

  try:
    if not is_torch_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .modeling_blip_a import (
        BLIP_2_PRETRAINED_MODEL_ARCHIVE_LIST,
        BlipaForConditionalGeneration,
        BlipaModel,
        BlipaPreTrainedModel,
        BlipaQFormerModel,
        BlipaVisionModel,
    )

else:
  import sys

  lowerCamelCase  			=		_LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)










'''simple docstring'''
from ...configuration_utils import PretrainedConfig
from ...utils import logging


_SCREAMING_SNAKE_CASE			=						logging.get_logger(__name__)

_SCREAMING_SNAKE_CASE			=						{"openai-gpt": "https://huggingface.co/openai-gpt/resolve/main/config.json"}
class   __UpperCAmelCase				(     lowerCAmelCase				):



					'''simple docstring'''





					_UpperCamelCase							=		"""openai-gpt"""
					_UpperCamelCase							=		{
					    """max_position_embeddings""": """n_positions""",
					    """hidden_size""": """n_embd""",
					    """num_attention_heads""": """n_head""",
					    """num_hidden_layers""": """n_layer""",
					}



					def __init__(	self     :						Any      ,       _lowercase     :						List[Any]=40_478      ,       _lowercase     :						Tuple=512      ,       _lowercase     :						Dict=768      ,       _lowercase     :						List[str]=12      ,       _lowercase     :						Optional[int]=12      ,       _lowercase     :						Tuple="gelu"      ,       _lowercase     :						int=0.1      ,       _lowercase     :						Tuple=0.1      ,       _lowercase     :						Any=0.1      ,       _lowercase     :						List[str]=1E-5      ,       _lowercase     :						str=0.02      ,       _lowercase     :						Optional[Any]="cls_index"      ,       _lowercase     :						int=True      ,       _lowercase     :						str=None      ,       _lowercase     :						Tuple=True      ,       _lowercase     :						List[Any]=0.1      ,       **_lowercase     :						int      ,       )    ->							Optional[int]:
								A_									= vocab_size
								A_									= n_positions
								A_									= n_embd
								A_									= n_layer
								A_									= n_head
								A_									= afn
								A_									= resid_pdrop
								A_									= embd_pdrop
								A_									= attn_pdrop
								A_									= layer_norm_epsilon
								A_									= initializer_range
								A_									= summary_type
								A_									= summary_use_proj
								A_									= summary_activation
								A_									= summary_first_dropout
								A_									= summary_proj_to_labels
								super().__init__(**_lowercase)




