




__a          =			'0.18.2'

from .configuration_utils import ConfigMixin
from .utils import (
    OptionalDependencyNotAvailable,
    is_flax_available,
    is_inflect_available,
    is_invisible_watermark_available,
    is_k_diffusion_available,
    is_k_diffusion_version,
    is_librosa_available,
    is_note_seq_available,
    is_onnx_available,
    is_scipy_available,
    is_torch_available,
    is_torchsde_available,
    is_transformers_available,
    is_transformers_version,
    is_unidecode_available,
    logging,
)


try:
     if not is_onnx_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     from .utils.dummy_onnx_objects import *  # noqa F403
else:
     from .pipelines import OnnxRuntimeModel

try:
     if not is_torch_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     from .utils.dummy_pt_objects import *  # noqa F403
else:
     from .models import (
         AutoencoderKL,
         ControlNetModel,
         ModelMixin,
         PriorTransformer,
         TaFilmDecoder,
         TransformeraDModel,
         UNetaDModel,
         UNetaDConditionModel,
         UNetaDModel,
         UNetaDConditionModel,
         VQModel,
     )
     from .optimization import (
         get_constant_schedule,
         get_constant_schedule_with_warmup,
         get_cosine_schedule_with_warmup,
         get_cosine_with_hard_restarts_schedule_with_warmup,
         get_linear_schedule_with_warmup,
         get_polynomial_decay_schedule_with_warmup,
         get_scheduler,
     )
     from .pipelines import (
         AudioPipelineOutput,
         ConsistencyModelPipeline,
         DanceDiffusionPipeline,
         DDIMPipeline,
         DDPMPipeline,
         DiffusionPipeline,
         DiTPipeline,
         ImagePipelineOutput,
         KarrasVePipeline,
         LDMPipeline,
         LDMSuperResolutionPipeline,
         PNDMPipeline,
         RePaintPipeline,
         ScoreSdeVePipeline,
     )
     from .schedulers import (
         CMStochasticIterativeScheduler,
         DDIMInverseScheduler,
         DDIMParallelScheduler,
         DDIMScheduler,
         DDPMParallelScheduler,
         DDPMScheduler,
         DEISMultistepScheduler,
         DPMSolverMultistepInverseScheduler,
         DPMSolverMultistepScheduler,
         DPMSolverSinglestepScheduler,
         EulerAncestralDiscreteScheduler,
         EulerDiscreteScheduler,
         HeunDiscreteScheduler,
         IPNDMScheduler,
         KarrasVeScheduler,
         KDPMaAncestralDiscreteScheduler,
         KDPMaDiscreteScheduler,
         PNDMScheduler,
         RePaintScheduler,
         SchedulerMixin,
         ScoreSdeVeScheduler,
         UnCLIPScheduler,
         UniPCMultistepScheduler,
         VQDiffusionScheduler,
     )
     from .training_utils import EMAModel

try:
     if not (is_torch_available() and is_scipy_available()):
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     from .utils.dummy_torch_and_scipy_objects import *  # noqa F403
else:
     from .schedulers import LMSDiscreteScheduler

try:
     if not (is_torch_available() and is_torchsde_available()):
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     from .utils.dummy_torch_and_torchsde_objects import *  # noqa F403
else:
     from .schedulers import DPMSolverSDEScheduler

try:
     if not (is_torch_available() and is_transformers_available()):
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     from .utils.dummy_torch_and_transformers_objects import *  # noqa F403
else:
     from .pipelines import (
         AltDiffusionImgaImgPipeline,
         AltDiffusionPipeline,
         AudioLDMPipeline,
         CycleDiffusionPipeline,
         IFImgaImgPipeline,
         IFImgaImgSuperResolutionPipeline,
         IFInpaintingPipeline,
         IFInpaintingSuperResolutionPipeline,
         IFPipeline,
         IFSuperResolutionPipeline,
         ImageTextPipelineOutput,
         KandinskyImgaImgPipeline,
         KandinskyInpaintPipeline,
         KandinskyPipeline,
         KandinskyPriorPipeline,
         KandinskyVaaControlnetImgaImgPipeline,
         KandinskyVaaControlnetPipeline,
         KandinskyVaaImgaImgPipeline,
         KandinskyVaaInpaintPipeline,
         KandinskyVaaPipeline,
         KandinskyVaaPriorEmbaEmbPipeline,
         KandinskyVaaPriorPipeline,
         LDMTextToImagePipeline,
         PaintByExamplePipeline,
         SemanticStableDiffusionPipeline,
         ShapEImgaImgPipeline,
         ShapEPipeline,
         StableDiffusionAttendAndExcitePipeline,
         StableDiffusionControlNetImgaImgPipeline,
         StableDiffusionControlNetInpaintPipeline,
         StableDiffusionControlNetPipeline,
         StableDiffusionDepthaImgPipeline,
         StableDiffusionDiffEditPipeline,
         StableDiffusionImageVariationPipeline,
         StableDiffusionImgaImgPipeline,
         StableDiffusionInpaintPipeline,
         StableDiffusionInpaintPipelineLegacy,
         StableDiffusionInstructPixaPixPipeline,
         StableDiffusionLatentUpscalePipeline,
         StableDiffusionLDMaDPipeline,
         StableDiffusionModelEditingPipeline,
         StableDiffusionPanoramaPipeline,
         StableDiffusionParadigmsPipeline,
         StableDiffusionPipeline,
         StableDiffusionPipelineSafe,
         StableDiffusionPixaPixZeroPipeline,
         StableDiffusionSAGPipeline,
         StableDiffusionUpscalePipeline,
         StableUnCLIPImgaImgPipeline,
         StableUnCLIPPipeline,
         TextToVideoSDPipeline,
         TextToVideoZeroPipeline,
         UnCLIPImageVariationPipeline,
         UnCLIPPipeline,
         UniDiffuserModel,
         UniDiffuserPipeline,
         UniDiffuserTextDecoder,
         VersatileDiffusionDualGuidedPipeline,
         VersatileDiffusionImageVariationPipeline,
         VersatileDiffusionPipeline,
         VersatileDiffusionTextToImagePipeline,
         VideoToVideoSDPipeline,
         VQDiffusionPipeline,
     )

try:
     if not (is_torch_available() and is_transformers_available() and is_invisible_watermark_available()):
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     from .utils.dummy_torch_and_transformers_and_invisible_watermark_objects import *  # noqa F403
else:
     from .pipelines import StableDiffusionXLImgaImgPipeline, StableDiffusionXLPipeline

try:
     if not (is_torch_available() and is_transformers_available() and is_k_diffusion_available()):
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     from .utils.dummy_torch_and_transformers_and_k_diffusion_objects import *  # noqa F403
else:
     from .pipelines import StableDiffusionKDiffusionPipeline

try:
     if not (is_torch_available() and is_transformers_available() and is_onnx_available()):
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     from .utils.dummy_torch_and_transformers_and_onnx_objects import *  # noqa F403
else:
     from .pipelines import (
         OnnxStableDiffusionImgaImgPipeline,
         OnnxStableDiffusionInpaintPipeline,
         OnnxStableDiffusionInpaintPipelineLegacy,
         OnnxStableDiffusionPipeline,
         OnnxStableDiffusionUpscalePipeline,
         StableDiffusionOnnxPipeline,
     )

try:
     if not (is_torch_available() and is_librosa_available()):
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     from .utils.dummy_torch_and_librosa_objects import *  # noqa F403
else:
     from .pipelines import AudioDiffusionPipeline, Mel

try:
     if not (is_transformers_available() and is_torch_available() and is_note_seq_available()):
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     from .utils.dummy_transformers_and_torch_and_note_seq_objects import *  # noqa F403
else:
     from .pipelines import SpectrogramDiffusionPipeline

try:
     if not is_flax_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     from .utils.dummy_flax_objects import *  # noqa F403
else:
     from .models.controlnet_flax import FlaxControlNetModel
     from .models.modeling_flax_utils import FlaxModelMixin
     from .models.unet_ad_condition_flax import FlaxUNetaDConditionModel
     from .models.vae_flax import FlaxAutoencoderKL
     from .pipelines import FlaxDiffusionPipeline
     from .schedulers import (
         FlaxDDIMScheduler,
         FlaxDDPMScheduler,
         FlaxDPMSolverMultistepScheduler,
         FlaxKarrasVeScheduler,
         FlaxLMSDiscreteScheduler,
         FlaxPNDMScheduler,
         FlaxSchedulerMixin,
         FlaxScoreSdeVeScheduler,
     )


try:
     if not (is_flax_available() and is_transformers_available()):
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     from .utils.dummy_flax_and_transformers_objects import *  # noqa F403
else:
     from .pipelines import (
         FlaxStableDiffusionControlNetPipeline,
         FlaxStableDiffusionImgaImgPipeline,
         FlaxStableDiffusionInpaintPipeline,
         FlaxStableDiffusionPipeline,
     )

try:
     if not (is_note_seq_available()):
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     from .utils.dummy_note_seq_objects import *  # noqa F403
else:
     from .pipelines import MidiProcessor





from ...processing_utils import ProcessorMixin

class   __a(					_a       ):






    """simple docstring"""





    lowerCAmelCase        =				'''SpeechT5FeatureExtractor'''
    lowerCAmelCase        =				'''SpeechT5Tokenizer'''





    def __init__(				self       ,_SCREAMING_SNAKE_CASE       ,_SCREAMING_SNAKE_CASE  )			->		int:
         super().__init__(_SCREAMING_SNAKE_CASE       ,_SCREAMING_SNAKE_CASE  )





    def __call__(				self       ,*_SCREAMING_SNAKE_CASE       ,**_SCREAMING_SNAKE_CASE  )			->		int:
         UpperCAmelCase_      :							List[str]       =      kwargs.pop('''audio'''       ,_SCREAMING_SNAKE_CASE  )
         UpperCAmelCase_      :							str       =      kwargs.pop('''text'''       ,_SCREAMING_SNAKE_CASE  )
         UpperCAmelCase_      :							List[str]       =      kwargs.pop('''text_target'''       ,_SCREAMING_SNAKE_CASE  )
         UpperCAmelCase_      :							int       =      kwargs.pop('''audio_target'''       ,_SCREAMING_SNAKE_CASE  )
         UpperCAmelCase_      :							Tuple       =      kwargs.pop('''sampling_rate'''       ,_SCREAMING_SNAKE_CASE  )

         if audio is not None and text is not None:
              raise ValueError(
                  '''Cannot process both `audio` and `text` inputs. Did you mean `audio_target` or `text_target`?'''  )
         if audio_target is not None and text_target is not None:
              raise ValueError(
                  '''Cannot process both `audio_target` and `text_target` inputs. Did you mean `audio` or `text`?'''  )
         if audio is None and audio_target is None and text is None and text_target is None:
              raise ValueError(
                  '''You need to specify either an `audio`, `audio_target`, `text`, or `text_target` input to process.'''  )

         if audio is not None:
              UpperCAmelCase_      :							Optional[Any]       =      self.feature_extractor(_SCREAMING_SNAKE_CASE       ,*_SCREAMING_SNAKE_CASE       ,sampling_rate=_SCREAMING_SNAKE_CASE       ,**_SCREAMING_SNAKE_CASE  )
         elif text is not None:
              UpperCAmelCase_      :							Dict       =      self.tokenizer(_SCREAMING_SNAKE_CASE       ,**_SCREAMING_SNAKE_CASE  )
         else:
              UpperCAmelCase_      :							List[str]       =      None

         if audio_target is not None:
              UpperCAmelCase_      :							List[Any]       =      self.feature_extractor(audio_target=_SCREAMING_SNAKE_CASE       ,*_SCREAMING_SNAKE_CASE       ,sampling_rate=_SCREAMING_SNAKE_CASE       ,**_SCREAMING_SNAKE_CASE  )
              UpperCAmelCase_      :							int       =      targets['''input_values''']
         elif text_target is not None:
              UpperCAmelCase_      :							Optional[int]       =      self.tokenizer(_SCREAMING_SNAKE_CASE       ,**_SCREAMING_SNAKE_CASE  )
              UpperCAmelCase_      :							Optional[Any]       =      targets['''input_ids''']
         else:
              UpperCAmelCase_      :							Tuple       =      None

         if inputs is None:
              return targets

         if targets is not None:
              UpperCAmelCase_      :							Dict       =      labels

              UpperCAmelCase_      :							Optional[int]       =      targets.get('''attention_mask'''  )
              if decoder_attention_mask is not None:
                   UpperCAmelCase_      :							List[Any]       =      decoder_attention_mask

         return inputs





    def 							a__				(				self       ,*_SCREAMING_SNAKE_CASE       ,**_SCREAMING_SNAKE_CASE  )			->		Tuple:
         UpperCAmelCase_      :							Dict       =      kwargs.pop('''input_values'''       ,_SCREAMING_SNAKE_CASE  )
         UpperCAmelCase_      :							Union[str, Any]       =      kwargs.pop('''input_ids'''       ,_SCREAMING_SNAKE_CASE  )
         UpperCAmelCase_      :							List[str]       =      kwargs.pop('''labels'''       ,_SCREAMING_SNAKE_CASE  )

         if input_values is not None and input_ids is not None:
              raise ValueError('''Cannot process both `input_values` and `input_ids` inputs.'''  )
         if input_values is None and input_ids is None and labels is None:
              raise ValueError(
                  '''You need to specify either an `input_values`, `input_ids`, or `labels` input to be padded.'''  )

         if input_values is not None:
              UpperCAmelCase_      :							Tuple       =      self.feature_extractor.pad(_SCREAMING_SNAKE_CASE       ,*_SCREAMING_SNAKE_CASE       ,**_SCREAMING_SNAKE_CASE  )
         elif input_ids is not None:
              UpperCAmelCase_      :							Tuple       =      self.tokenizer.pad(_SCREAMING_SNAKE_CASE       ,**_SCREAMING_SNAKE_CASE  )
         else:
              UpperCAmelCase_      :							List[str]       =      None

         if labels is not None:
              if "input_ids" in labels or (isinstance(_SCREAMING_SNAKE_CASE       ,_SCREAMING_SNAKE_CASE  ) and "input_ids" in labels[0]):
                   UpperCAmelCase_      :							Tuple       =      self.tokenizer.pad(_SCREAMING_SNAKE_CASE       ,**_SCREAMING_SNAKE_CASE  )
                   UpperCAmelCase_      :							Any       =      targets['''input_ids''']
              else:
                   UpperCAmelCase_      :							int       =      self.feature_extractor.feature_size
                   UpperCAmelCase_      :							List[str]       =      self.feature_extractor.num_mel_bins
                   UpperCAmelCase_      :							Optional[Any]       =      self.feature_extractor.pad(_SCREAMING_SNAKE_CASE       ,*_SCREAMING_SNAKE_CASE       ,**_SCREAMING_SNAKE_CASE  )
                   UpperCAmelCase_      :							List[Any]       =      feature_size_hack
                   UpperCAmelCase_      :							List[Any]       =      targets['''input_values''']
         else:
              UpperCAmelCase_      :							Optional[int]       =      None

         if inputs is None:
              return targets

         if targets is not None:
              UpperCAmelCase_      :							Optional[int]       =      labels

              UpperCAmelCase_      :							Union[str, Any]       =      targets.get('''attention_mask'''  )
              if decoder_attention_mask is not None:
                   UpperCAmelCase_      :							List[Any]       =      decoder_attention_mask

         return inputs





    def 							a__				(				self       ,*_SCREAMING_SNAKE_CASE       ,**_SCREAMING_SNAKE_CASE  )			->		Optional[Any]:
         return self.tokenizer.batch_decode(*_SCREAMING_SNAKE_CASE       ,**_SCREAMING_SNAKE_CASE  )





    def 							a__				(				self       ,*_SCREAMING_SNAKE_CASE       ,**_SCREAMING_SNAKE_CASE  )			->		Union[str, Any]:
         return self.tokenizer.decode(*_SCREAMING_SNAKE_CASE       ,**_SCREAMING_SNAKE_CASE  )