




from typing import TYPE_CHECKING

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


_UpperCAmelCase	:						str			=     {
    "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:
     _UpperCAmelCase	:						Optional[int]			=     ["LayoutLMv3TokenizerFast"]

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

try:
     if not is_tf_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     _UpperCAmelCase	:						Union[str, Any]			=     [
         "TF_LAYOUTLMV3_PRETRAINED_MODEL_ARCHIVE_LIST",
         "TFLayoutLMv3ForQuestionAnswering",
         "TFLayoutLMv3ForSequenceClassification",
         "TFLayoutLMv3ForTokenClassification",
         "TFLayoutLMv3Model",
         "TFLayoutLMv3PreTrainedModel",
     ]

try:
     if not is_vision_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     _UpperCAmelCase	:						Optional[int]			=     ["LayoutLMv3FeatureExtractor"]
     _UpperCAmelCase	:						List[str]			=     ["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

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









_UpperCAmelCase	:						Union[str, Any]			=     "0.21.0"

from .accelerator import Accelerator
from .big_modeling import (
    cpu_offload,
    cpu_offload_with_hook,
    disk_offload,
    dispatch_model,
    init_empty_weights,
    init_on_device,
    load_checkpoint_and_dispatch,
)
from .data_loader import skip_first_batches
from .launchers import debug_launcher, notebook_launcher
from .state import PartialState
from .utils import (
    DeepSpeedPlugin,
    DistributedDataParallelKwargs,
    DistributedType,
    FullyShardedDataParallelPlugin,
    GradScalerKwargs,
    InitProcessGroupKwargs,
    find_executable_batch_size,
    infer_auto_device_map,
    is_rich_available,
    load_checkpoint_in_model,
    synchronize_rng_states,
)


if is_rich_available():
     from .utils import rich



