

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


lowerCAmelCase__								=		logging.get_logger(__name__)

lowerCAmelCase__								=		{
    """google/vivit-b-16x2-kinetics400""": (
        """https://huggingface.co/google/vivit-b-16x2-kinetics400/resolve/main/config.json"""
    ),
    # See all Vivit models at https://huggingface.co/models?filter=vivit
}







class 	lowercase    (				_lowercase							):


		"""simple docstring"""




		a__					       =  "vivit"


		def __init__(				self	,       __snake_case=2_24	,       __snake_case=32	,       __snake_case=[2, 16, 16]	,       __snake_case=3	,       __snake_case=7_68	,       __snake_case=12	,       __snake_case=12	,       __snake_case=30_72	,       __snake_case="gelu_fast"	,       __snake_case=0.0	,       __snake_case=0.0	,       __snake_case=0.0_2	,       __snake_case=1e-06	,       __snake_case=True	,       **__snake_case	,       ):
			_UpperCamelCase   :		List[Any]			=						hidden_size
			_UpperCamelCase   :		Optional[int]			=						num_hidden_layers
			_UpperCamelCase   :		Optional[int]			=						num_attention_heads
			_UpperCamelCase   :		List[Any]			=						intermediate_size
			_UpperCamelCase   :		int			=						hidden_act
			_UpperCamelCase   :		List[str]			=						hidden_dropout_prob
			_UpperCamelCase   :		str			=						attention_probs_dropout_prob
			_UpperCamelCase   :		int			=						initializer_range
			_UpperCamelCase   :		str			=						layer_norm_eps

			_UpperCamelCase   :		int			=						image_size
			_UpperCamelCase   :		Any			=						num_frames
			_UpperCamelCase   :		Union[str, Any]			=						tubelet_size
			_UpperCamelCase   :		Union[str, Any]			=						num_channels
			_UpperCamelCase   :		Optional[int]			=						qkv_bias

			super().__init__(**__snake_case)







from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_tf_available,
    is_torch_available,
    is_vision_available,
)


lowerCAmelCase__								=		{
    """configuration_blip""": [
        """BLIP_PRETRAINED_CONFIG_ARCHIVE_MAP""",
        """BlipConfig""",
        """BlipTextConfig""",
        """BlipVisionConfig""",
    ],
    """processing_blip""": ["""BlipProcessor"""],
}

try:
							if not is_vision_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							lowerCAmelCase__								=		["""BlipImageProcessor"""]


try:
							if not is_torch_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							lowerCAmelCase__								=		[
							    """BLIP_PRETRAINED_MODEL_ARCHIVE_LIST""",
							    """BlipModel""",
							    """BlipPreTrainedModel""",
							    """BlipForConditionalGeneration""",
							    """BlipForQuestionAnswering""",
							    """BlipVisionModel""",
							    """BlipTextModel""",
							    """BlipForImageTextRetrieval""",
							]

try:
							if not is_tf_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							lowerCAmelCase__								=		[
							    """TF_BLIP_PRETRAINED_MODEL_ARCHIVE_LIST""",
							    """TFBlipModel""",
							    """TFBlipPreTrainedModel""",
							    """TFBlipForConditionalGeneration""",
							    """TFBlipForQuestionAnswering""",
							    """TFBlipVisionModel""",
							    """TFBlipTextModel""",
							    """TFBlipForImageTextRetrieval""",
							]

if TYPE_CHECKING:
							from .configuration_blip import BLIP_PRETRAINED_CONFIG_ARCHIVE_MAP, BlipConfig, BlipTextConfig, BlipVisionConfig
							from .processing_blip import BlipProcessor

							try:
														if not is_vision_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .image_processing_blip import BlipImageProcessor

							try:
														if not is_torch_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_blip import (
														    BLIP_PRETRAINED_MODEL_ARCHIVE_LIST,
														    BlipForConditionalGeneration,
														    BlipForImageTextRetrieval,
														    BlipForQuestionAnswering,
														    BlipModel,
														    BlipPreTrainedModel,
														    BlipTextModel,
														    BlipVisionModel,
														)

							try:
														if not is_tf_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_tf_blip import (
														    TF_BLIP_PRETRAINED_MODEL_ARCHIVE_LIST,
														    TFBlipForConditionalGeneration,
														    TFBlipForImageTextRetrieval,
														    TFBlipForQuestionAnswering,
														    TFBlipModel,
														    TFBlipPreTrainedModel,
														    TFBlipTextModel,
														    TFBlipVisionModel,
														)

else:
							import sys

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




