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


__lowerCamelCase			: List[Any]							   =		logging.get_logger(__name__)

__lowerCamelCase			: str							   =		{
    '''hustvl/yolos-small''': '''https://huggingface.co/hustvl/yolos-small/resolve/main/config.json''',
    # See all YOLOS models at https://huggingface.co/models?filter=yolos
}







class __snake_case				(						A_		):
   lowerCAmelCase_														=							"yolos"




   def __init__(    self			:				str       ,	_lowercase			:				Tuple=7_68       ,	_lowercase			:				Tuple=12       ,	_lowercase			:				List[Any]=12       ,	_lowercase			:				int=30_72       ,	_lowercase			:				Tuple="gelu"       ,	_lowercase			:				Optional[int]=0.0       ,	_lowercase			:				Optional[Any]=0.0       ,	_lowercase			:				Dict=0.02       ,	_lowercase			:				Tuple=1E-12       ,	_lowercase			:				List[Any]=[5_12, 8_64]       ,	_lowercase			:				List[Any]=16       ,	_lowercase			:				Tuple=3       ,	_lowercase			:				Optional[int]=True       ,	_lowercase			:				Dict=1_00       ,	_lowercase			:				Dict=True       ,	_lowercase			:				Optional[Any]=False       ,	_lowercase			:				Union[str, Any]=1       ,	_lowercase			:				Optional[Any]=5       ,	_lowercase			:				List[str]=2       ,	_lowercase			:				Tuple=5       ,	_lowercase			:				List[str]=2       ,	_lowercase			:				Tuple=0.1       ,	**_lowercase			:				Dict       ,	):



     """simple docstring"""






     super().__init__(**A_      )

     SCREAMING_SNAKE_CASE__										=      hidden_size
     SCREAMING_SNAKE_CASE__										=      num_hidden_layers
     SCREAMING_SNAKE_CASE__										=      num_attention_heads
     SCREAMING_SNAKE_CASE__										=      intermediate_size
     SCREAMING_SNAKE_CASE__										=      hidden_act
     SCREAMING_SNAKE_CASE__										=      hidden_dropout_prob
     SCREAMING_SNAKE_CASE__										=      attention_probs_dropout_prob
     SCREAMING_SNAKE_CASE__										=      initializer_range
     SCREAMING_SNAKE_CASE__										=      layer_norm_eps
     SCREAMING_SNAKE_CASE__										=      image_size
     SCREAMING_SNAKE_CASE__										=      patch_size
     SCREAMING_SNAKE_CASE__										=      num_channels
     SCREAMING_SNAKE_CASE__										=      qkv_bias
     SCREAMING_SNAKE_CASE__										=      num_detection_tokens
     SCREAMING_SNAKE_CASE__										=      use_mid_position_embeddings
     SCREAMING_SNAKE_CASE__										=      auxiliary_loss
     # Hungarian matcher
     SCREAMING_SNAKE_CASE__										=      class_cost
     SCREAMING_SNAKE_CASE__										=      bbox_cost
     SCREAMING_SNAKE_CASE__										=      giou_cost
     # Loss coefficients
     SCREAMING_SNAKE_CASE__										=      bbox_loss_coefficient
     SCREAMING_SNAKE_CASE__										=      giou_loss_coefficient
     SCREAMING_SNAKE_CASE__										=      eos_coefficient







class __snake_case				(						A_		):
   lowerCAmelCase_														=							version.parse("1.11"		)




   @property
   def 	__a						(    self			:				List[str]      ):



     """simple docstring"""






     return OrderedDict(
         [
             ("""pixel_values""", {0: """batch""", 1: """num_channels""", 2: """height""", 3: """width"""}),
         ]      )




   @property
   def 	__a						(    self			:				str      ):



     """simple docstring"""






     return 1E-4




   @property
   def 	__a						(    self			:				Union[str, Any]      ):



     """simple docstring"""






     return 12




from typing import TYPE_CHECKING

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


_A		       =						{'configuration_vit_mae': ['VIT_MAE_PRETRAINED_CONFIG_ARCHIVE_MAP', 'ViTMAEConfig']}

try:
   if not is_torch_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   _A		       =						[
       'VIT_MAE_PRETRAINED_MODEL_ARCHIVE_LIST',
       'ViTMAEForPreTraining',
       'ViTMAELayer',
       'ViTMAEModel',
       'ViTMAEPreTrainedModel',
   ]

try:
   if not is_tf_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   _A		       =						[
       'TFViTMAEForPreTraining',
       'TFViTMAEModel',
       'TFViTMAEPreTrainedModel',
   ]

if TYPE_CHECKING:
   from .configuration_vit_mae import VIT_MAE_PRETRAINED_CONFIG_ARCHIVE_MAP, ViTMAEConfig

   try:
      if not is_torch_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_vit_mae import (
          VIT_MAE_PRETRAINED_MODEL_ARCHIVE_LIST,
          ViTMAEForPreTraining,
          ViTMAELayer,
          ViTMAEModel,
          ViTMAEPreTrainedModel,
      )

   try:
      if not is_tf_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_tf_vit_mae import TFViTMAEForPreTraining, TFViTMAEModel, TFViTMAEPreTrainedModel


else:
   import sys

   _A		       =						_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)





