






"""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,
)


_UpperCamelCase    :   Optional[int]   			=						{
    '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:
   _UpperCamelCase    :   int   			=						['CLIPTokenizerFast']

try:
   if not is_vision_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   _UpperCamelCase    :   int   			=						['CLIPFeatureExtractor']
   _UpperCamelCase    :   Tuple   			=						['CLIPImageProcessor']

try:
   if not is_torch_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   _UpperCamelCase    :   Optional[Any]   			=						[
       'CLIP_PRETRAINED_MODEL_ARCHIVE_LIST',
       'CLIPModel',
       'CLIPPreTrainedModel',
       'CLIPTextModel',
       'CLIPTextModelWithProjection',
       'CLIPVisionModel',
       'CLIPVisionModelWithProjection',
   ]

try:
   if not is_tf_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   _UpperCamelCase    :   Union[str, Any]   			=						[
       'TF_CLIP_PRETRAINED_MODEL_ARCHIVE_LIST',
       'TFCLIPModel',
       'TFCLIPPreTrainedModel',
       'TFCLIPTextModel',
       'TFCLIPVisionModel',
   ]

try:
   if not is_flax_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   _UpperCamelCase    :   Dict   			=						[
       '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

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












"""simple docstring"""


import os
import sys

_UpperCamelCase    :   str   			=						os.path.join(os.path.dirname(__file__), 'src')
sys.path.append(SRC_DIR)


from transformers import (
    AutoConfig,
    AutoModel,
    AutoModelForCausalLM,
    AutoModelForMaskedLM,
    AutoModelForQuestionAnswering,
    AutoModelForSequenceClassification,
    AutoTokenizer,
    add_start_docstrings,
)


_UpperCamelCase    :   int   			=						[
    'torch',
    'numpy',
    'tokenizers',
    'filelock',
    'requests',
    'tqdm',
    'regex',
    'sentencepiece',
    'sacremoses',
    'importlib_metadata',
    'huggingface_hub',
]




@add_start_docstrings(AutoConfig.__doc__				)
def       snake_case  (*A_				:Optional[int]     ,      **A_				:int				):







  '''simple docstring'''

  return AutoConfig.from_pretrained(*A_     ,      **A_				)




@add_start_docstrings(AutoTokenizer.__doc__				)
def       snake_case  (*A_				:Optional[int]     ,      **A_				:List[Any]				):







  '''simple docstring'''

  return AutoTokenizer.from_pretrained(*A_     ,      **A_				)




@add_start_docstrings(AutoModel.__doc__				)
def       snake_case  (*A_				:Optional[Any]     ,      **A_				:Tuple				):







  '''simple docstring'''

  return AutoModel.from_pretrained(*A_     ,      **A_				)




@add_start_docstrings(AutoModelForCausalLM.__doc__				)
def       snake_case  (*A_				:str     ,      **A_				:Optional[int]				):







  '''simple docstring'''

  return AutoModelForCausalLM.from_pretrained(*A_     ,      **A_				)




@add_start_docstrings(AutoModelForMaskedLM.__doc__				)
def       snake_case  (*A_				:Optional[Any]     ,      **A_				:Dict				):







  '''simple docstring'''

  return AutoModelForMaskedLM.from_pretrained(*A_     ,      **A_				)




@add_start_docstrings(AutoModelForSequenceClassification.__doc__				)
def       snake_case  (*A_				:Dict     ,      **A_				:str				):







  '''simple docstring'''

  return AutoModelForSequenceClassification.from_pretrained(*A_     ,      **A_				)






@add_start_docstrings(AutoModelForQuestionAnswering.__doc__				)
def       snake_case  (*A_				:Dict     ,      **A_				:List[Any]				):







  '''simple docstring'''

  return AutoModelForQuestionAnswering.from_pretrained(*A_     ,      **A_				)




