




from typing import TYPE_CHECKING

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


_UpperCAmelCase	:						Optional[int]			=     {
    "configuration_rembert": ["REMBERT_PRETRAINED_CONFIG_ARCHIVE_MAP", "RemBertConfig", "RemBertOnnxConfig"]
}

try:
     if not is_sentencepiece_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     _UpperCAmelCase	:						Any			=     ["RemBertTokenizer"]

try:
     if not is_tokenizers_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     _UpperCAmelCase	:						List[str]			=     ["RemBertTokenizerFast"]

try:
     if not is_torch_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     _UpperCAmelCase	:						Any			=     [
         "REMBERT_PRETRAINED_MODEL_ARCHIVE_LIST",
         "RemBertForCausalLM",
         "RemBertForMaskedLM",
         "RemBertForMultipleChoice",
         "RemBertForQuestionAnswering",
         "RemBertForSequenceClassification",
         "RemBertForTokenClassification",
         "RemBertLayer",
         "RemBertModel",
         "RemBertPreTrainedModel",
         "load_tf_weights_in_rembert",
     ]


try:
     if not is_tf_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     _UpperCAmelCase	:						Union[str, Any]			=     [
         "TF_REMBERT_PRETRAINED_MODEL_ARCHIVE_LIST",
         "TFRemBertForCausalLM",
         "TFRemBertForMaskedLM",
         "TFRemBertForMultipleChoice",
         "TFRemBertForQuestionAnswering",
         "TFRemBertForSequenceClassification",
         "TFRemBertForTokenClassification",
         "TFRemBertLayer",
         "TFRemBertModel",
         "TFRemBertPreTrainedModel",
     ]


if TYPE_CHECKING:
     from .configuration_rembert import REMBERT_PRETRAINED_CONFIG_ARCHIVE_MAP, RemBertConfig, RemBertOnnxConfig

     try:
          if not is_sentencepiece_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .tokenization_rembert import RemBertTokenizer

     try:
          if not is_tokenizers_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .tokenization_rembert_fast import RemBertTokenizerFast

     try:
          if not is_torch_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .modeling_rembert import (
              REMBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
              RemBertForCausalLM,
              RemBertForMaskedLM,
              RemBertForMultipleChoice,
              RemBertForQuestionAnswering,
              RemBertForSequenceClassification,
              RemBertForTokenClassification,
              RemBertLayer,
              RemBertModel,
              RemBertPreTrainedModel,
              load_tf_weights_in_rembert,
          )

     try:
          if not is_tf_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .modeling_tf_rembert import (
              TF_REMBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
              TFRemBertForCausalLM,
              TFRemBertForMaskedLM,
              TFRemBertForMultipleChoice,
              TFRemBertForQuestionAnswering,
              TFRemBertForSequenceClassification,
              TFRemBertForTokenClassification,
              TFRemBertLayer,
              TFRemBertModel,
              TFRemBertPreTrainedModel,
          )


else:
     import sys

     _UpperCAmelCase	:						Any			=     _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



