






'''simple docstring'''
from typing import TYPE_CHECKING

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


a_					= {
    '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:
		a_					= ['BlipImageProcessor']


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

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

		a_					= _LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)







'''simple docstring'''
import inspect
import os
import sys
import unittest

import accelerate
from accelerate.test_utils import execute_subprocess_async, require_tpu






class      __SCREAMING_SNAKE_CASE      (			unittest.TestCase				):




 def      __magic_name__	(      self	:							int      )	->						Tuple:
       SCREAMING_SNAKE_CASE__     :				Optional[int]									=inspect.getfile(accelerate.test_utils      )
       SCREAMING_SNAKE_CASE__     :				Optional[Any]									=os.path.sep.join(mod_file.split(os.path.sep      )[:-1] + ['''scripts''', '''test_script.py''']      )
       SCREAMING_SNAKE_CASE__     :				Dict									=os.path.sep.join(inspect.getfile(self.__class__      ).split(os.path.sep      )[:-1]      )




 @require_tpu
 def      __magic_name__	(      self	:							int      )	->						Tuple:
       SCREAMING_SNAKE_CASE__     :				Any									=F"\n            {self.test_dir}/xla_spawn.py\n            --num_cores 8\n            {self.test_file_path}\n        ".split()
       SCREAMING_SNAKE_CASE__     :				List[str]									=[sys.executable] + distributed_args
       execute_subprocess_async(__lowercase					,      env=os.environ.copy()      )