'''simple docstring'''




from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available, is_vision_available


snake_case  =			{
    '''configuration_imagegpt''': ['''IMAGEGPT_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''ImageGPTConfig''', '''ImageGPTOnnxConfig''']
}

try:
 if not is_vision_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 snake_case  =			['''ImageGPTFeatureExtractor''']
 snake_case  =			['''ImageGPTImageProcessor''']

try:
 if not is_torch_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 snake_case  =			[
     '''IMAGEGPT_PRETRAINED_MODEL_ARCHIVE_LIST''',
     '''ImageGPTForCausalImageModeling''',
     '''ImageGPTForImageClassification''',
     '''ImageGPTModel''',
     '''ImageGPTPreTrainedModel''',
     '''load_tf_weights_in_imagegpt''',
 ]


if TYPE_CHECKING:
 from .configuration_imagegpt import IMAGEGPT_PRETRAINED_CONFIG_ARCHIVE_MAP, ImageGPTConfig, ImageGPTOnnxConfig

 try:
  if not is_vision_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .feature_extraction_imagegpt import ImageGPTFeatureExtractor
  from .image_processing_imagegpt import ImageGPTImageProcessor

 try:
  if not is_torch_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_imagegpt import (
      IMAGEGPT_PRETRAINED_MODEL_ARCHIVE_LIST,
      ImageGPTForCausalImageModeling,
      ImageGPTForImageClassification,
      ImageGPTModel,
      ImageGPTPreTrainedModel,
      load_tf_weights_in_imagegpt,
  )

else:
 import sys

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






'''simple docstring'''




import unittest

from transformers import is_torch_available, load_tool

from .test_tools_common import ToolTesterMixin


if is_torch_available():
 import torch





class        SCREAMING_SNAKE_CASE   (				unittest.TestCase	,						__a ):
  """simple docstring"""







  def   a   (  self   :					List[str]					):


        """simple docstring"""



        _lowerCAmelCase		   =   load_tool('speech-to-text'					)
        self.tool.setup()



  def   a   (  self   :					Any					):


        """simple docstring"""



        _lowerCAmelCase		   =   self.tool(torch.ones(3000					)					)
        self.assertEqual(__lowerCAmelCase					,					' you'					)



  def   a   (  self   :					Optional[int]					):


        """simple docstring"""



        _lowerCAmelCase		   =   self.tool(audio=torch.ones(3000					)					)
        self.assertEqual(__lowerCAmelCase					,					' you'					)





