

from typing import TYPE_CHECKING

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


_snake_case						: Tuple											=							{
    '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:
     _snake_case						: List[str]											=							['LayoutLMv3TokenizerFast']

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

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

try:
     if not is_vision_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     _snake_case						: str											=							['LayoutLMv3FeatureExtractor']
     _snake_case						: List[Any]											=							['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

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





from ...configuration_utils import PretrainedConfig
from ...utils import logging


lowerCAmelCase       		=    logging.get_logger(__name__)

lowerCAmelCase       		=    {
    """abeja/gpt-neox-japanese-2.7b""": """https://huggingface.co/abeja/gpt-neox-japanese-2.7b/resolve/main/config.json""",
}




class 							lowerCamelCase   (  _UpperCamelCase ):
	_lowerCAmelCase     :		Tuple										=						'''gpt_neox_japanese'''


	def __init__(    self				,     lowercase__=3_2_0_0_0				,     lowercase__=2_5_6_0				,     lowercase__=3_2				,     lowercase__=3_2				,     lowercase__=4				,     lowercase__="gelu"				,     lowercase__=1.0_0				,     lowercase__=1_0_0_0_0				,     lowercase__=2_0_4_8				,     lowercase__=0.0_2				,     lowercase__=1e-5				,     lowercase__=True				,     lowercase__=3_1_9_9_6				,     lowercase__=3_1_9_9_9				,     lowercase__=0.1				,     lowercase__=0.0				,     **lowercase__				,     ):
							super().__init__(bos_token_id=lowercase__				,     eos_token_id=lowercase__				,     **lowercase__)
							__UpperCAmelCase			:							Optional[Any]	    =	vocab_size
							__UpperCAmelCase			:							Dict	    =	max_position_embeddings
							__UpperCAmelCase			:							int	    =	hidden_size
							__UpperCAmelCase			:							List[Any]	    =	num_hidden_layers
							__UpperCAmelCase			:							Union[str, Any]	    =	num_attention_heads
							__UpperCAmelCase			:							Optional[int]	    =	intermediate_multiple_size
							__UpperCAmelCase			:							Any	    =	hidden_act
							__UpperCAmelCase			:							str	    =	rotary_pct
							__UpperCAmelCase			:							Any	    =	rotary_emb_base
							__UpperCAmelCase			:							Dict	    =	initializer_range
							__UpperCAmelCase			:							Tuple	    =	layer_norm_eps
							__UpperCAmelCase			:							Optional[int]	    =	use_cache
							__UpperCAmelCase			:							str	    =	attention_dropout
							__UpperCAmelCase			:							Any	    =	hidden_dropout

