



from typing import TYPE_CHECKING

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


lowerCAmelCase:      int		 =		{
    'configuration_blip': [
        'BLIP_PRETRAINED_CONFIG_ARCHIVE_MAP',
        'BlipConfig',
        'BlipTextConfig',
        'BlipVisionConfig',
    ],
    'processing_blip': ['BlipProcessor'],
}

try:
     if not is_vision_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     lowerCAmelCase:      Union[str, Any]		 =		['BlipImageProcessor']


try:
     if not is_torch_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     lowerCAmelCase:      Optional[Any]		 =		[
         'BLIP_PRETRAINED_MODEL_ARCHIVE_LIST',
         'BlipModel',
         'BlipPreTrainedModel',
         'BlipForConditionalGeneration',
         'BlipForQuestionAnswering',
         'BlipVisionModel',
         'BlipTextModel',
         'BlipForImageTextRetrieval',
     ]

try:
     if not is_tf_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     lowerCAmelCase:      Tuple		 =		[
         'TF_BLIP_PRETRAINED_MODEL_ARCHIVE_LIST',
         'TFBlipModel',
         'TFBlipPreTrainedModel',
         'TFBlipForConditionalGeneration',
         'TFBlipForQuestionAnswering',
         'TFBlipVisionModel',
         'TFBlipTextModel',
         'TFBlipForImageTextRetrieval',
     ]

if TYPE_CHECKING:
     from .configuration_blip import BLIP_PRETRAINED_CONFIG_ARCHIVE_MAP, BlipConfig, BlipTextConfig, BlipVisionConfig
     from .processing_blip import BlipProcessor

     try:
          if not is_vision_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .image_processing_blip import BlipImageProcessor

     try:
          if not is_torch_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .modeling_blip import (
              BLIP_PRETRAINED_MODEL_ARCHIVE_LIST,
              BlipForConditionalGeneration,
              BlipForImageTextRetrieval,
              BlipForQuestionAnswering,
              BlipModel,
              BlipPreTrainedModel,
              BlipTextModel,
              BlipVisionModel,
          )

     try:
          if not is_tf_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .modeling_tf_blip import (
              TF_BLIP_PRETRAINED_MODEL_ARCHIVE_LIST,
              TFBlipForConditionalGeneration,
              TFBlipForImageTextRetrieval,
              TFBlipForQuestionAnswering,
              TFBlipModel,
              TFBlipPreTrainedModel,
              TFBlipTextModel,
              TFBlipVisionModel,
          )

else:
     import sys

     lowerCAmelCase:      Dict		 =		_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)




'''simple docstring'''






import warnings

from ...utils import logging
from .image_processing_chinese_clip import ChineseCLIPImageProcessor


lowerCAmelCase:      Optional[Any]		 =		logging.get_logger(__name__)

class 							a__(      lowerCamelCase__			):







    def __init__(   self				:						Union[str, Any]		,    *__snake_case				:						List[str]		,    **__snake_case				:						Union[str, Any]			):
      warnings.warn(
          'The class ChineseCLIPFeatureExtractor is deprecated and will be removed in version 5 of Transformers.'
          ' Please use ChineseCLIPImageProcessor instead.'		,    __snake_case		,    )
      super().__init__(*__snake_case		,    **__snake_case			)