


from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_sentencepiece_available,
    is_speech_available,
    is_tf_available,
    is_torch_available,
)


__UpperCAmelCase : int 			=				{
    "configuration_speech_to_text": ["SPEECH_TO_TEXT_PRETRAINED_CONFIG_ARCHIVE_MAP", "Speech2TextConfig"],
    "processing_speech_to_text": ["Speech2TextProcessor"],
}

try:
  if not is_sentencepiece_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  __UpperCAmelCase : List[Any] 			=				["Speech2TextTokenizer"]

try:
  if not is_speech_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  __UpperCAmelCase : Optional[int] 			=				["Speech2TextFeatureExtractor"]

try:
  if not is_tf_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  __UpperCAmelCase : int 			=				[
      "TF_SPEECH_TO_TEXT_PRETRAINED_MODEL_ARCHIVE_LIST",
      "TFSpeech2TextForConditionalGeneration",
      "TFSpeech2TextModel",
      "TFSpeech2TextPreTrainedModel",
  ]

try:
  if not is_torch_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  __UpperCAmelCase : Tuple 			=				[
      "SPEECH_TO_TEXT_PRETRAINED_MODEL_ARCHIVE_LIST",
      "Speech2TextForConditionalGeneration",
      "Speech2TextModel",
      "Speech2TextPreTrainedModel",
  ]


if TYPE_CHECKING:
  from .configuration_speech_to_text import SPEECH_TO_TEXT_PRETRAINED_CONFIG_ARCHIVE_MAP, SpeechaTextConfig
  from .processing_speech_to_text import SpeechaTextProcessor

  try:
    if not is_sentencepiece_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .tokenization_speech_to_text import SpeechaTextTokenizer

  try:
    if not is_speech_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .feature_extraction_speech_to_text import SpeechaTextFeatureExtractor

  try:
    if not is_tf_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .modeling_tf_speech_to_text import (
        TF_SPEECH_TO_TEXT_PRETRAINED_MODEL_ARCHIVE_LIST,
        TFSpeechaTextForConditionalGeneration,
        TFSpeechaTextModel,
        TFSpeechaTextPreTrainedModel,
    )

  try:
    if not is_torch_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .modeling_speech_to_text import (
        SPEECH_TO_TEXT_PRETRAINED_MODEL_ARCHIVE_LIST,
        SpeechaTextForConditionalGeneration,
        SpeechaTextModel,
        SpeechaTextPreTrainedModel,
    )

else:
  import sys

  __UpperCAmelCase : Dict 			=				_LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)





import unittest

import numpy as np
import torch

from diffusers import VersatileDiffusionImageVariationPipeline
from diffusers.utils.testing_utils import load_image, require_torch_gpu, slow, torch_device


__UpperCAmelCase : Dict 			=				False



class    UpperCAmelCase_	(							unittest.TestCase):
       '''simple docstring'''
       pass




@slow
@require_torch_gpu
class    UpperCAmelCase_	(							unittest.TestCase):
       '''simple docstring'''






       def  _lowercase   (     self						):




              """simple docstring"""




              UpperCamelCase    :	Dict   	=		VersatileDiffusionImageVariationPipeline.from_pretrained('''shi-labs/versatile-diffusion'''						)
              pipe.to(__SCREAMING_SNAKE_CASE						)
              pipe.set_progress_bar_config(disable=__SCREAMING_SNAKE_CASE						)

              UpperCamelCase    :	Union[str, Any]   	=		load_image(
                  '''https://huggingface.co/datasets/hf-internal-testing/diffusers-images/resolve/main/versatile_diffusion/benz.jpg'''						)
              UpperCamelCase    :	str   	=		torch.manual_seed(0						)
              UpperCamelCase    :	Union[str, Any]   	=		pipe(
                  image=__SCREAMING_SNAKE_CASE ,					generator=__SCREAMING_SNAKE_CASE ,					guidance_scale=7.5 ,					num_inference_steps=50 ,					output_type='''numpy''' ,					).images

              UpperCamelCase    :	List[Any]   	=		image[0, 253:256, 253:256, -1]

              assert image.shape == (1, 512, 512, 3)
              UpperCamelCase    :	Dict   	=		np.array([0.0_441, 0.0_469, 0.0_507, 0.0_575, 0.0_632, 0.0_650, 0.0_865, 0.0_909, 0.0_945]						)

              assert np.abs(image_slice.flatten() - expected_slice						).max() < 1e-2

