





from collections import OrderedDict
from typing import List, Mapping

from packaging import version

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


_lowerCamelCase			       =      logging.get_logger(__name__)

_lowerCamelCase			       =      {
    'google/efficientnet-b7': 'https://huggingface.co/google/efficientnet-b7/resolve/main/config.json',
}







class 			__A       (      lowerCamelCase__  ):




      """simple docstring"""







      UpperCAmelCase__						=      """efficientnet"""


      def __init__(		self      ,							a__ = 3      ,							a__ = 600      ,							a__ = 2.0      ,							a__ = 3.1      ,							a__ = 8      ,							a__ = [3, 3, 5, 3, 5, 5, 3]      ,							a__ = [32, 16, 24, 40, 80, 112, 192]      ,							a__ = [16, 24, 40, 80, 112, 192, 320]      ,							a__ = []      ,							a__ = [1, 2, 2, 2, 1, 2, 1]      ,							a__ = [1, 2, 2, 3, 3, 4, 1]      ,							a__ = [1, 6, 6, 6, 6, 6, 6]      ,							a__ = 0.25      ,							a__ = "swish"      ,							a__ = 2560      ,							a__ = "mean"      ,							a__ = 0.02      ,							a__ = 0.001      ,							a__ = 0.99      ,							a__ = 0.5      ,							a__ = 0.2      ,							**a__      ,							):



             """simple docstring"""





             super().__init__(**a__)

             _lowerCamelCase							:     List[Any]	=		num_channels
             _lowerCamelCase							:     Dict	=		image_size
             _lowerCamelCase							:     Union[str, Any]	=		width_coefficient
             _lowerCamelCase							:     List[str]	=		depth_coefficient
             _lowerCamelCase							:     List[str]	=		depth_divisor
             _lowerCamelCase							:     Any	=		kernel_sizes
             _lowerCamelCase							:     str	=		in_channels
             _lowerCamelCase							:     Union[str, Any]	=		out_channels
             _lowerCamelCase							:     Optional[Any]	=		depthwise_padding
             _lowerCamelCase							:     Optional[int]	=		strides
             _lowerCamelCase							:     Dict	=		num_block_repeats
             _lowerCamelCase							:     List[str]	=		expand_ratios
             _lowerCamelCase							:     Optional[int]	=		squeeze_expansion_ratio
             _lowerCamelCase							:     Union[str, Any]	=		hidden_act
             _lowerCamelCase							:     Optional[Any]	=		hidden_dim
             _lowerCamelCase							:     Optional[Any]	=		pooling_type
             _lowerCamelCase							:     Any	=		initializer_range
             _lowerCamelCase							:     List[Any]	=		batch_norm_eps
             _lowerCamelCase							:     List[Any]	=		batch_norm_momentum
             _lowerCamelCase							:     str	=		dropout_rate
             _lowerCamelCase							:     Any	=		drop_connect_rate
             _lowerCamelCase							:     Optional[int]	=		sum(a__) * 4







class 			__A       (      lowerCamelCase__  ):




      """simple docstring"""







      UpperCAmelCase__						=      version.parse("""1.11"""  )


      @property
      def 				__snake_case			(		self):



             """simple docstring"""





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



      @property
      def 				__snake_case			(		self):



             """simple docstring"""





             return 1e-5








from typing import TYPE_CHECKING

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


_lowerCamelCase			       =      {
    'configuration_layoutlmv3': [
        'LAYOUTLMV3_PRETRAINED_CONFIG_ARCHIVE_MAP',
        'LayoutLMv3Config',
        'LayoutLMv3OnnxConfig',
    ],
    'processing_layoutlmv3': ['LayoutLMv3Processor'],
    'tokenization_layoutlmv3': ['LayoutLMv3Tokenizer'],
}

try:
       if not is_tokenizers_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       _lowerCamelCase			       =      ['LayoutLMv3TokenizerFast']

try:
       if not is_torch_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       _lowerCamelCase			       =      [
           'LAYOUTLMV3_PRETRAINED_MODEL_ARCHIVE_LIST',
           'LayoutLMv3ForQuestionAnswering',
           'LayoutLMv3ForSequenceClassification',
           'LayoutLMv3ForTokenClassification',
           'LayoutLMv3Model',
           'LayoutLMv3PreTrainedModel',
       ]

try:
       if not is_tf_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       _lowerCamelCase			       =      [
           'TF_LAYOUTLMV3_PRETRAINED_MODEL_ARCHIVE_LIST',
           'TFLayoutLMv3ForQuestionAnswering',
           'TFLayoutLMv3ForSequenceClassification',
           'TFLayoutLMv3ForTokenClassification',
           'TFLayoutLMv3Model',
           'TFLayoutLMv3PreTrainedModel',
       ]

try:
       if not is_vision_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       _lowerCamelCase			       =      ['LayoutLMv3FeatureExtractor']
       _lowerCamelCase			       =      ['LayoutLMv3ImageProcessor']


if TYPE_CHECKING:
       from .configuration_layoutlmva import (
           LAYOUTLMV3_PRETRAINED_CONFIG_ARCHIVE_MAP,
           LayoutLMvaConfig,
           LayoutLMvaOnnxConfig,
       )
       from .processing_layoutlmva import LayoutLMvaProcessor
       from .tokenization_layoutlmva import LayoutLMvaTokenizer

       try:
              if not is_tokenizers_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .tokenization_layoutlmva_fast import LayoutLMvaTokenizerFast

       try:
              if not is_torch_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_layoutlmva import (
                  LAYOUTLMV3_PRETRAINED_MODEL_ARCHIVE_LIST,
                  LayoutLMvaForQuestionAnswering,
                  LayoutLMvaForSequenceClassification,
                  LayoutLMvaForTokenClassification,
                  LayoutLMvaModel,
                  LayoutLMvaPreTrainedModel,
              )

       try:
              if not is_tf_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_tf_layoutlmva import (
                  TF_LAYOUTLMV3_PRETRAINED_MODEL_ARCHIVE_LIST,
                  TFLayoutLMvaForQuestionAnswering,
                  TFLayoutLMvaForSequenceClassification,
                  TFLayoutLMvaForTokenClassification,
                  TFLayoutLMvaModel,
                  TFLayoutLMvaPreTrainedModel,
              )

       try:
              if not is_vision_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .feature_extraction_layoutlmva import LayoutLMvaFeatureExtractor
              from .image_processing_layoutlmva import LayoutLMvaImageProcessor

else:
       import sys

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

