from typing import TYPE_CHECKING

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


A_      =      {
    "configuration_owlvit": [
        "OWLVIT_PRETRAINED_CONFIG_ARCHIVE_MAP",
        "OwlViTConfig",
        "OwlViTOnnxConfig",
        "OwlViTTextConfig",
        "OwlViTVisionConfig",
    ],
    "processing_owlvit": ["OwlViTProcessor"],
}


try:
						if not is_vision_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						A_      =      ["OwlViTFeatureExtractor"]
						A_      =      ["OwlViTImageProcessor"]

try:
						if not is_torch_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						A_      =      [
						    "OWLVIT_PRETRAINED_MODEL_ARCHIVE_LIST",
						    "OwlViTModel",
						    "OwlViTPreTrainedModel",
						    "OwlViTTextModel",
						    "OwlViTVisionModel",
						    "OwlViTForObjectDetection",
						]

if TYPE_CHECKING:
						from .configuration_owlvit import (
						    OWLVIT_PRETRAINED_CONFIG_ARCHIVE_MAP,
						    OwlViTConfig,
						    OwlViTOnnxConfig,
						    OwlViTTextConfig,
						    OwlViTVisionConfig,
						)
						from .processing_owlvit import OwlViTProcessor

						try:
												if not is_vision_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .feature_extraction_owlvit import OwlViTFeatureExtractor
												from .image_processing_owlvit import OwlViTImageProcessor

						try:
												if not is_torch_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .modeling_owlvit import (
												    OWLVIT_PRETRAINED_MODEL_ARCHIVE_LIST,
												    OwlViTForObjectDetection,
												    OwlViTModel,
												    OwlViTPreTrainedModel,
												    OwlViTTextModel,
												    OwlViTVisionModel,
												)

else:
						import sys

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






import logging

from transformers import PretrainedConfig


A_      =      logging.getLogger(__name__)


A_      =      {
    "bertabs-finetuned-cnndm": "https://huggingface.co/remi/bertabs-finetuned-cnndm-extractive-abstractive-summarization/resolve/main/config.json",
}






class      __lowercase					(    _A    ):
						lowercase					 =     'bertabs'

						def __init__(	self				:      Dict							,							__lowerCamelCase				:      Tuple=3_05_22							,							__lowerCamelCase				:      Tuple=5_12							,							__lowerCamelCase				:      List[Any]=6							,							__lowerCamelCase				:      Any=5_12							,							__lowerCamelCase				:      Any=8							,							__lowerCamelCase				:      Union[str, Any]=5_12							,							__lowerCamelCase				:      Tuple=0.2							,							__lowerCamelCase				:      str=6							,							__lowerCamelCase				:      int=7_68							,							__lowerCamelCase				:      int=8							,							__lowerCamelCase				:      List[Any]=20_48							,							__lowerCamelCase				:      Union[str, Any]=0.2							,							**__lowerCamelCase				:      Dict							,							)							->		Dict:


									'''simple docstring'''

									super().__init__(**__lowerCamelCase   )

									lowercase							=		vocab_size
									lowercase							=		max_pos

									lowercase							=		enc_layers
									lowercase							=		enc_hidden_size
									lowercase							=		enc_heads
									lowercase							=		enc_ff_size
									lowercase							=		enc_dropout

									lowercase							=		dec_layers
									lowercase							=		dec_hidden_size
									lowercase							=		dec_heads
									lowercase							=		dec_ff_size
									lowercase							=		dec_dropout





