





'''simple docstring'''

import operator as op


__A	: Optional[Any]              =       'scaler.pt'
__A	: Dict              =       'pytorch_model'
__A	: List[Any]              =       'random_states'
__A	: int              =       'optimizer'
__A	: List[str]              =       'scheduler'
__A	: Tuple              =       'pytorch_model.bin'
__A	: List[Any]              =       'pytorch_model.bin.index.json'
__A	: Optional[Any]              =       'model.safetensors'
__A	: List[str]              =       'model.safetensors.index.json'
__A	: Optional[int]              =       '1.10.2'
__A	: Union[str, Any]              =       'py38'
__A	: List[Any]              =       '4.17.0'
__A	: List[Any]              =       ['ml.p3.16xlarge', 'ml.p3dn.24xlarge', 'ml.p4dn.24xlarge']
__A	: Optional[Any]              =       ['FULL_SHARD', 'SHARD_GRAD_OP', 'NO_SHARD', 'HYBRID_SHARD', 'HYBRID_SHARD_ZERO2']
__A	: List[str]              =       ['TRANSFORMER_BASED_WRAP', 'SIZE_BASED_WRAP', 'NO_WRAP']
__A	: str              =       ['BACKWARD_PRE', 'BACKWARD_POST', 'NO_PREFETCH']
__A	: str              =       ['FULL_STATE_DICT', 'LOCAL_STATE_DICT', 'SHARDED_STATE_DICT']
__A	: str              =       '2.0.1'
__A	: Union[str, Any]              =       ['pdsh', 'standard', 'openmpi', 'mvapich']
__A	: Tuple              =       ['default', 'reduce-overhead', 'max-autotune']

__A	: Optional[Any]              =       {'>': op.gt, '>=': op.ge, '==': op.eq, '!=': op.ne, '<=': op.le, '<': op.lt}

# These are the args for `torch.distributed.launch` for pytorch < 1.9
__A	: Tuple              =       [
    'nnodes',
    'nproc_per_node',
    'rdzv_backend',
    'rdzv_endpoint',
    'rdzv_id',
    'rdzv_conf',
    'standalone',
    'max_restarts',
    'monitor_interval',
    'start_method',
    'role',
    'module',
    'm',
    'no_python',
    'run_path',
    'log_dir',
    'r',
    'redirects',
    't',
    'tee',
    'node_rank',
    'master_addr',
    'master_port',
]

__A	: int              =       ['DEEPSPEED', 'MULTI_GPU', 'FSDP', 'MEGATRON_LM']
__A	: Any              =       ['DEEPSPEED', 'MULTI_XPU', 'FSDP']







from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_torch_available,
)


_lowercase											=    {
    """configuration_falcon""": ["""FALCON_PRETRAINED_CONFIG_ARCHIVE_MAP""", """FalconConfig"""],
}

try:
 if not is_torch_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 _lowercase											=    [
     """FALCON_PRETRAINED_MODEL_ARCHIVE_LIST""",
     """FalconForCausalLM""",
     """FalconModel""",
     """FalconPreTrainedModel""",
     """FalconForSequenceClassification""",
     """FalconForTokenClassification""",
     """FalconForQuestionAnswering""",
 ]


if TYPE_CHECKING:
 from .configuration_falcon import FALCON_PRETRAINED_CONFIG_ARCHIVE_MAP, FalconConfig

 try:
  if not is_torch_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_falcon import (
      FALCON_PRETRAINED_MODEL_ARCHIVE_LIST,
      FalconForCausalLM,
      FalconForQuestionAnswering,
      FalconForSequenceClassification,
      FalconForTokenClassification,
      FalconModel,
      FalconPreTrainedModel,
  )


else:
 import sys

 _lowercase											=    _LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)
