





"""simple docstring"""


from typing import TYPE_CHECKING

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


lowerCamelCase__				  =   {"configuration_xlnet": ["XLNET_PRETRAINED_CONFIG_ARCHIVE_MAP", "XLNetConfig"]}

try:
  if not is_sentencepiece_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  lowerCamelCase__				  =   ["XLNetTokenizer"]

try:
  if not is_tokenizers_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  lowerCamelCase__				  =   ["XLNetTokenizerFast"]

try:
  if not is_torch_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  lowerCamelCase__				  =   [
      "XLNET_PRETRAINED_MODEL_ARCHIVE_LIST",
      "XLNetForMultipleChoice",
      "XLNetForQuestionAnswering",
      "XLNetForQuestionAnsweringSimple",
      "XLNetForSequenceClassification",
      "XLNetForTokenClassification",
      "XLNetLMHeadModel",
      "XLNetModel",
      "XLNetPreTrainedModel",
      "load_tf_weights_in_xlnet",
  ]

try:
  if not is_tf_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  lowerCamelCase__				  =   [
      "TF_XLNET_PRETRAINED_MODEL_ARCHIVE_LIST",
      "TFXLNetForMultipleChoice",
      "TFXLNetForQuestionAnsweringSimple",
      "TFXLNetForSequenceClassification",
      "TFXLNetForTokenClassification",
      "TFXLNetLMHeadModel",
      "TFXLNetMainLayer",
      "TFXLNetModel",
      "TFXLNetPreTrainedModel",
  ]


if TYPE_CHECKING:
  from .configuration_xlnet import XLNET_PRETRAINED_CONFIG_ARCHIVE_MAP, XLNetConfig

  try:
    if not is_sentencepiece_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .tokenization_xlnet import XLNetTokenizer

  try:
    if not is_tokenizers_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .tokenization_xlnet_fast import XLNetTokenizerFast

  try:
    if not is_torch_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .modeling_xlnet import (
        XLNET_PRETRAINED_MODEL_ARCHIVE_LIST,
        XLNetForMultipleChoice,
        XLNetForQuestionAnswering,
        XLNetForQuestionAnsweringSimple,
        XLNetForSequenceClassification,
        XLNetForTokenClassification,
        XLNetLMHeadModel,
        XLNetModel,
        XLNetPreTrainedModel,
        load_tf_weights_in_xlnet,
    )

  try:
    if not is_tf_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .modeling_tf_xlnet import (
        TF_XLNET_PRETRAINED_MODEL_ARCHIVE_LIST,
        TFXLNetForMultipleChoice,
        TFXLNetForQuestionAnsweringSimple,
        TFXLNetForSequenceClassification,
        TFXLNetForTokenClassification,
        TFXLNetLMHeadModel,
        TFXLNetMainLayer,
        TFXLNetModel,
        TFXLNetPreTrainedModel,
    )

else:
  import sys

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







"""simple docstring"""


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__				  =   logging.get_logger(__name__)

lowerCamelCase__				  =   {
    "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      __SCREAMING_SNAKE_CASE    (						_UpperCamelCase   ):







  '''simple docstring'''


  SCREAMING_SNAKE_CASE__							:Tuple	     =					"yolos"

  def __init__(		self   :       Dict					,   __a   :       Optional[Any]=768					,   __a   :       List[Any]=12					,   __a   :       Any=12					,   __a   :       List[Any]=3072					,   __a   :       Optional[int]="gelu"					,   __a   :       Dict=0.0					,   __a   :       Optional[Any]=0.0					,   __a   :       Any=0.02					,   __a   :       Optional[int]=1e-1_2					,   __a   :       List[Any]=[512, 864]					,   __a   :       List[str]=16					,   __a   :       str=3					,   __a   :       Optional[Any]=True					,   __a   :       Optional[Any]=100					,   __a   :       List[str]=True					,   __a   :       Any=False					,   __a   :       List[str]=1					,   __a   :       str=5					,   __a   :       Optional[Any]=2					,   __a   :       Tuple=5					,   __a   :       Any=2					,   __a   :       Union[str, Any]=0.1					,   **__a   :       List[str]					,   )		->				List[str]:
        super().__init__(**__a	)

        _UpperCamelCase      :	Dict						=       hidden_size
        _UpperCamelCase      :	Any						=       num_hidden_layers
        _UpperCamelCase      :	str						=       num_attention_heads
        _UpperCamelCase      :	Dict						=       intermediate_size
        _UpperCamelCase      :	List[str]						=       hidden_act
        _UpperCamelCase      :	List[str]						=       hidden_dropout_prob
        _UpperCamelCase      :	str						=       attention_probs_dropout_prob
        _UpperCamelCase      :	Tuple						=       initializer_range
        _UpperCamelCase      :	List[str]						=       layer_norm_eps
        _UpperCamelCase      :	Tuple						=       image_size
        _UpperCamelCase      :	Tuple						=       patch_size
        _UpperCamelCase      :	Dict						=       num_channels
        _UpperCamelCase      :	Any						=       qkv_bias
        _UpperCamelCase      :	str						=       num_detection_tokens
        _UpperCamelCase      :	str						=       use_mid_position_embeddings
        _UpperCamelCase      :	List[str]						=       auxiliary_loss
        # Hungarian matcher
        _UpperCamelCase      :	List[Any]						=       class_cost
        _UpperCamelCase      :	int						=       bbox_cost
        _UpperCamelCase      :	Optional[int]						=       giou_cost
        # Loss coefficients
        _UpperCamelCase      :	List[Any]						=       bbox_loss_coefficient
        _UpperCamelCase      :	str						=       giou_loss_coefficient
        _UpperCamelCase      :	Dict						=       eos_coefficient





class      __SCREAMING_SNAKE_CASE    (						_UpperCamelCase   ):







  '''simple docstring'''


  SCREAMING_SNAKE_CASE__							:List[str]	     =					version.parse("1.11"   )

  @property
  def    __SCREAMING_SNAKE_CASE				(		self   :       str	)		->				Mapping[str, Mapping[int, str]]:
        return OrderedDict(
            [
                ("pixel_values", {0: "batch", 1: "num_channels", 2: "height", 3: "width"}),
            ]	)

  @property
  def    __SCREAMING_SNAKE_CASE				(		self   :       Optional[Any]	)		->				float:
        return 1e-4


  @property
  def    __SCREAMING_SNAKE_CASE				(		self   :       Dict	)		->				int:
        return 12
