

from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_tf_available, is_torch_available


_lowerCAmelCase :	str     				=    {
    'configuration_esm': ['ESM_PRETRAINED_CONFIG_ARCHIVE_MAP', 'EsmConfig'],
    'tokenization_esm': ['EsmTokenizer'],
}

try:
     if not is_torch_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     _lowerCAmelCase :	List[str]     				=    [
         'ESM_PRETRAINED_MODEL_ARCHIVE_LIST',
         'EsmForMaskedLM',
         'EsmForSequenceClassification',
         'EsmForTokenClassification',
         'EsmModel',
         'EsmPreTrainedModel',
     ]
     _lowerCAmelCase :	Dict     				=    ['EsmForProteinFolding', 'EsmFoldPreTrainedModel']

try:
     if not is_tf_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     _lowerCAmelCase :	List[Any]     				=    [
         'TF_ESM_PRETRAINED_MODEL_ARCHIVE_LIST',
         'TFEsmForMaskedLM',
         'TFEsmForSequenceClassification',
         'TFEsmForTokenClassification',
         'TFEsmModel',
         'TFEsmPreTrainedModel',
     ]

if TYPE_CHECKING:
     from .configuration_esm import ESM_PRETRAINED_CONFIG_ARCHIVE_MAP, EsmConfig
     from .tokenization_esm import EsmTokenizer

     try:
          if not is_torch_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .modeling_esm import (
              ESM_PRETRAINED_MODEL_ARCHIVE_LIST,
              EsmForMaskedLM,
              EsmForSequenceClassification,
              EsmForTokenClassification,
              EsmModel,
              EsmPreTrainedModel,
          )
          from .modeling_esmfold import EsmFoldPreTrainedModel, EsmForProteinFolding

     try:
          if not is_tf_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .modeling_tf_esm import (
              TF_ESM_PRETRAINED_MODEL_ARCHIVE_LIST,
              TFEsmForMaskedLM,
              TFEsmForSequenceClassification,
              TFEsmForTokenClassification,
              TFEsmModel,
              TFEsmPreTrainedModel,
          )


else:
     import sys

     _lowerCAmelCase :	str     				=    _LazyModule(__name__, globals()['__file__'], _import_structure)







from typing import TYPE_CHECKING

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


_lowerCAmelCase :	List[Any]     				=    {
    'configuration_switch_transformers': [
        'SWITCH_TRANSFORMERS_PRETRAINED_CONFIG_ARCHIVE_MAP',
        'SwitchTransformersConfig',
        'SwitchTransformersOnnxConfig',
    ]
}

try:
     if not is_torch_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     _lowerCAmelCase :	Tuple     				=    [
         'SWITCH_TRANSFORMERS_PRETRAINED_MODEL_ARCHIVE_LIST',
         'SwitchTransformersEncoderModel',
         'SwitchTransformersForConditionalGeneration',
         'SwitchTransformersModel',
         'SwitchTransformersPreTrainedModel',
         'SwitchTransformersTop1Router',
         'SwitchTransformersSparseMLP',
     ]


if TYPE_CHECKING:
     from .configuration_switch_transformers import (
         SWITCH_TRANSFORMERS_PRETRAINED_CONFIG_ARCHIVE_MAP,
         SwitchTransformersConfig,
         SwitchTransformersOnnxConfig,
     )

     try:
          if not is_torch_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .modeling_switch_transformers import (
              SWITCH_TRANSFORMERS_PRETRAINED_MODEL_ARCHIVE_LIST,
              SwitchTransformersEncoderModel,
              SwitchTransformersForConditionalGeneration,
              SwitchTransformersModel,
              SwitchTransformersPreTrainedModel,
              SwitchTransformersSparseMLP,
              SwitchTransformersTopaRouter,
          )


else:
     import sys

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




