



"""simple docstring"""


from typing import TYPE_CHECKING

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


snake_case_    					=	{
    """configuration_clip""": [
        """CLIP_PRETRAINED_CONFIG_ARCHIVE_MAP""",
        """CLIPConfig""",
        """CLIPOnnxConfig""",
        """CLIPTextConfig""",
        """CLIPVisionConfig""",
    ],
    """processing_clip""": ["""CLIPProcessor"""],
    """tokenization_clip""": ["""CLIPTokenizer"""],
}

try:
				if not is_tokenizers_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				snake_case_    					=	["""CLIPTokenizerFast"""]

try:
				if not is_vision_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				snake_case_    					=	["""CLIPFeatureExtractor"""]
				snake_case_    					=	["""CLIPImageProcessor"""]

try:
				if not is_torch_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				snake_case_    					=	[
				    """CLIP_PRETRAINED_MODEL_ARCHIVE_LIST""",
				    """CLIPModel""",
				    """CLIPPreTrainedModel""",
				    """CLIPTextModel""",
				    """CLIPTextModelWithProjection""",
				    """CLIPVisionModel""",
				    """CLIPVisionModelWithProjection""",
				]

try:
				if not is_tf_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				snake_case_    					=	[
				    """TF_CLIP_PRETRAINED_MODEL_ARCHIVE_LIST""",
				    """TFCLIPModel""",
				    """TFCLIPPreTrainedModel""",
				    """TFCLIPTextModel""",
				    """TFCLIPVisionModel""",
				]

try:
				if not is_flax_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				snake_case_    					=	[
				    """FlaxCLIPModel""",
				    """FlaxCLIPPreTrainedModel""",
				    """FlaxCLIPTextModel""",
				    """FlaxCLIPTextPreTrainedModel""",
				    """FlaxCLIPVisionModel""",
				    """FlaxCLIPVisionPreTrainedModel""",
				]


if TYPE_CHECKING:
				from .configuration_clip import (
				    CLIP_PRETRAINED_CONFIG_ARCHIVE_MAP,
				    CLIPConfig,
				    CLIPOnnxConfig,
				    CLIPTextConfig,
				    CLIPVisionConfig,
				)
				from .processing_clip import CLIPProcessor
				from .tokenization_clip import CLIPTokenizer

				try:
								if not is_tokenizers_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .tokenization_clip_fast import CLIPTokenizerFast

				try:
								if not is_vision_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .feature_extraction_clip import CLIPFeatureExtractor
								from .image_processing_clip import CLIPImageProcessor

				try:
								if not is_torch_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_clip import (
								    CLIP_PRETRAINED_MODEL_ARCHIVE_LIST,
								    CLIPModel,
								    CLIPPreTrainedModel,
								    CLIPTextModel,
								    CLIPTextModelWithProjection,
								    CLIPVisionModel,
								    CLIPVisionModelWithProjection,
								)

				try:
								if not is_tf_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_tf_clip import (
								    TF_CLIP_PRETRAINED_MODEL_ARCHIVE_LIST,
								    TFCLIPModel,
								    TFCLIPPreTrainedModel,
								    TFCLIPTextModel,
								    TFCLIPVisionModel,
								)

				try:
								if not is_flax_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_flax_clip import (
								    FlaxCLIPModel,
								    FlaxCLIPPreTrainedModel,
								    FlaxCLIPTextModel,
								    FlaxCLIPTextPreTrainedModel,
								    FlaxCLIPVisionModel,
								    FlaxCLIPVisionPreTrainedModel,
								)


else:
				import sys

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










"""simple docstring"""


import operator as op


snake_case_    					=	"""scaler.pt"""
snake_case_    					=	"""pytorch_model"""
snake_case_    					=	"""random_states"""
snake_case_    					=	"""optimizer"""
snake_case_    					=	"""scheduler"""
snake_case_    					=	"""pytorch_model.bin"""
snake_case_    					=	"""pytorch_model.bin.index.json"""
snake_case_    					=	"""model.safetensors"""
snake_case_    					=	"""model.safetensors.index.json"""
snake_case_    					=	"""1.10.2"""
snake_case_    					=	"""py38"""
snake_case_    					=	"""4.17.0"""
snake_case_    					=	["""ml.p3.16xlarge""", """ml.p3dn.24xlarge""", """ml.p4dn.24xlarge"""]
snake_case_    					=	["""FULL_SHARD""", """SHARD_GRAD_OP""", """NO_SHARD""", """HYBRID_SHARD""", """HYBRID_SHARD_ZERO2"""]
snake_case_    					=	["""TRANSFORMER_BASED_WRAP""", """SIZE_BASED_WRAP""", """NO_WRAP"""]
snake_case_    					=	["""BACKWARD_PRE""", """BACKWARD_POST""", """NO_PREFETCH"""]
snake_case_    					=	["""FULL_STATE_DICT""", """LOCAL_STATE_DICT""", """SHARDED_STATE_DICT"""]
snake_case_    					=	"""2.0.1"""
snake_case_    					=	["""pdsh""", """standard""", """openmpi""", """mvapich"""]
snake_case_    					=	["""default""", """reduce-overhead""", """max-autotune"""]

snake_case_    					=	{""">""": op.gt, """>=""": op.ge, """==""": op.eq, """!=""": op.ne, """<=""": op.le, """<""": op.lt}

# These are the args for `torch.distributed.launch` for pytorch < 1.9
snake_case_    					=	[
    """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""",
]

snake_case_    					=	["""DEEPSPEED""", """MULTI_GPU""", """FSDP""", """MEGATRON_LM"""]
snake_case_    					=	["""DEEPSPEED""", """MULTI_XPU""", """FSDP"""]





