

from collections import OrderedDict
from typing import Mapping

from packaging import version

from ...configuration_utils import PretrainedConfig
from ...onnx import OnnxConfig
from ...utils import logging


_UpperCAmelCase	:     int		       = logging.get_logger(__name__)

_UpperCAmelCase	:     Any		       = {
    """facebook/levit-128S""": """https://huggingface.co/facebook/levit-128S/resolve/main/config.json""",
    # See all LeViT models at https://huggingface.co/models?filter=levit
}







class 				lowercase       ( lowercase_    ):
				__SCREAMING_SNAKE_CASE      :				int     =    '''levit'''




				def __init__(      self   ,     snake_case=224   ,     snake_case=3   ,     snake_case=3   ,     snake_case=2   ,     snake_case=1   ,     snake_case=16   ,     snake_case=[128, 256, 384]   ,     snake_case=[4, 8, 12]   ,     snake_case=[4, 4, 4]   ,     snake_case=[16, 16, 16]   ,     snake_case=0   ,     snake_case=[2, 2, 2]   ,     snake_case=[2, 2, 2]   ,     snake_case=0.02   ,     **snake_case   ,     ):
											super().__init__(**snake_case )
											snake_case_           =					image_size
											snake_case_           =					num_channels
											snake_case_           =					kernel_size
											snake_case_           =					stride
											snake_case_           =					padding
											snake_case_           =					hidden_sizes
											snake_case_           =					num_attention_heads
											snake_case_           =					depths
											snake_case_           =					key_dim
											snake_case_           =					drop_path_rate
											snake_case_           =					patch_size
											snake_case_           =					attention_ratio
											snake_case_           =					mlp_ratio
											snake_case_           =					initializer_range
											snake_case_           =					[
											    ['Subsample', key_dim[0], hidden_sizes[0] // key_dim[0], 4, 2, 2],
											    ['Subsample', key_dim[0], hidden_sizes[1] // key_dim[0], 4, 2, 2],
											]







class 				lowercase       ( lowercase_    ):
				__SCREAMING_SNAKE_CASE      :				Dict     =    version.parse('''1.11'''    )




				@property
				def 					a							(      self ):
											return OrderedDict(
											    [
											        ('pixel_values', {0: 'batch', 1: 'num_channels', 2: 'height', 3: 'width'}),
											    ] )




				@property
				def 					a							(      self ):
											return 1e-4







from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_flax_available, is_torch_available


_UpperCAmelCase	:     Any		       = {
    """configuration_longt5""": ["""LONGT5_PRETRAINED_CONFIG_ARCHIVE_MAP""", """LongT5Config""", """LongT5OnnxConfig"""],
}

try:
					if not is_torch_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					_UpperCAmelCase	:     Any		       = [
					    """LONGT5_PRETRAINED_MODEL_ARCHIVE_LIST""",
					    """LongT5EncoderModel""",
					    """LongT5ForConditionalGeneration""",
					    """LongT5Model""",
					    """LongT5PreTrainedModel""",
					]

try:
					if not is_flax_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					_UpperCAmelCase	:     Optional[int]		       = [
					    """FlaxLongT5ForConditionalGeneration""",
					    """FlaxLongT5Model""",
					    """FlaxLongT5PreTrainedModel""",
					]


if TYPE_CHECKING:
					from .configuration_longta import LONGT5_PRETRAINED_CONFIG_ARCHIVE_MAP, LongTaConfig, LongTaOnnxConfig

					try:
										if not is_torch_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_longta import (
										    LONGT5_PRETRAINED_MODEL_ARCHIVE_LIST,
										    LongTaEncoderModel,
										    LongTaForConditionalGeneration,
										    LongTaModel,
										    LongTaPreTrainedModel,
										)

					try:
										if not is_flax_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_flax_longta import (
										    FlaxLongTaForConditionalGeneration,
										    FlaxLongTaModel,
										    FlaxLongTaPreTrainedModel,
										)


else:
					import sys

					_UpperCAmelCase	:     Optional[Any]		       = _LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)




