

from ..utils import (
    OptionalDependencyNotAvailable,
    is_flax_available,
    is_invisible_watermark_available,
    is_k_diffusion_available,
    is_librosa_available,
    is_note_seq_available,
    is_onnx_available,
    is_torch_available,
    is_transformers_available,
)


try:
      if not is_torch_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      from ..utils.dummy_pt_objects import *  # noqa F403
else:
      from .consistency_models import ConsistencyModelPipeline
      from .dance_diffusion import DanceDiffusionPipeline
      from .ddim import DDIMPipeline
      from .ddpm import DDPMPipeline
      from .dit import DiTPipeline
      from .latent_diffusion import LDMSuperResolutionPipeline
      from .latent_diffusion_uncond import LDMPipeline
      from .pipeline_utils import AudioPipelineOutput, DiffusionPipeline, ImagePipelineOutput
      from .pndm import PNDMPipeline
      from .repaint import RePaintPipeline
      from .score_sde_ve import ScoreSdeVePipeline
      from .stochastic_karras_ve import KarrasVePipeline

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 .audio_diffusion import AudioDiffusionPipeline, Mel

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 .alt_diffusion import AltDiffusionImgaImgPipeline, AltDiffusionPipeline
      from .audioldm import AudioLDMPipeline
      from .controlnet import (
          StableDiffusionControlNetImgaImgPipeline,
          StableDiffusionControlNetInpaintPipeline,
          StableDiffusionControlNetPipeline,
      )
      from .deepfloyd_if import (
          IFImgaImgPipeline,
          IFImgaImgSuperResolutionPipeline,
          IFInpaintingPipeline,
          IFInpaintingSuperResolutionPipeline,
          IFPipeline,
          IFSuperResolutionPipeline,
      )
      from .kandinsky import (
          KandinskyImgaImgPipeline,
          KandinskyInpaintPipeline,
          KandinskyPipeline,
          KandinskyPriorPipeline,
      )
      from .kandinskya_a import (
          KandinskyVaaControlnetImgaImgPipeline,
          KandinskyVaaControlnetPipeline,
          KandinskyVaaImgaImgPipeline,
          KandinskyVaaInpaintPipeline,
          KandinskyVaaPipeline,
          KandinskyVaaPriorEmbaEmbPipeline,
          KandinskyVaaPriorPipeline,
      )
      from .latent_diffusion import LDMTextToImagePipeline
      from .paint_by_example import PaintByExamplePipeline
      from .semantic_stable_diffusion import SemanticStableDiffusionPipeline
      from .shap_e import ShapEImgaImgPipeline, ShapEPipeline
      from .stable_diffusion import (
          CycleDiffusionPipeline,
          StableDiffusionAttendAndExcitePipeline,
          StableDiffusionDepthaImgPipeline,
          StableDiffusionDiffEditPipeline,
          StableDiffusionImageVariationPipeline,
          StableDiffusionImgaImgPipeline,
          StableDiffusionInpaintPipeline,
          StableDiffusionInpaintPipelineLegacy,
          StableDiffusionInstructPixaPixPipeline,
          StableDiffusionLatentUpscalePipeline,
          StableDiffusionLDMaDPipeline,
          StableDiffusionModelEditingPipeline,
          StableDiffusionPanoramaPipeline,
          StableDiffusionParadigmsPipeline,
          StableDiffusionPipeline,
          StableDiffusionPixaPixZeroPipeline,
          StableDiffusionSAGPipeline,
          StableDiffusionUpscalePipeline,
          StableUnCLIPImgaImgPipeline,
          StableUnCLIPPipeline,
      )
      from .stable_diffusion_safe import StableDiffusionPipelineSafe
      from .text_to_video_synthesis import TextToVideoSDPipeline, TextToVideoZeroPipeline, VideoToVideoSDPipeline
      from .unclip import UnCLIPImageVariationPipeline, UnCLIPPipeline
      from .unidiffuser import ImageTextPipelineOutput, UniDiffuserModel, UniDiffuserPipeline, UniDiffuserTextDecoder
      from .versatile_diffusion import (
          VersatileDiffusionDualGuidedPipeline,
          VersatileDiffusionImageVariationPipeline,
          VersatileDiffusionPipeline,
          VersatileDiffusionTextToImagePipeline,
      )
      from .vq_diffusion import 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 .stable_diffusion_xl import StableDiffusionXLImgaImgPipeline, StableDiffusionXLPipeline

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

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 .stable_diffusion import (
          OnnxStableDiffusionImgaImgPipeline,
          OnnxStableDiffusionInpaintPipeline,
          OnnxStableDiffusionInpaintPipelineLegacy,
          OnnxStableDiffusionPipeline,
          OnnxStableDiffusionUpscalePipeline,
          StableDiffusionOnnxPipeline,
      )

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 .stable_diffusion import StableDiffusionKDiffusionPipeline

try:
      if not is_flax_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      from ..utils.dummy_flax_objects import *  # noqa F403
else:
      from .pipeline_flax_utils import FlaxDiffusionPipeline


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 .controlnet import FlaxStableDiffusionControlNetPipeline
      from .stable_diffusion import (
          FlaxStableDiffusionImgaImgPipeline,
          FlaxStableDiffusionInpaintPipeline,
          FlaxStableDiffusionPipeline,
      )
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 .spectrogram_diffusion import MidiProcessor, SpectrogramDiffusionPipeline








from typing import Mapping

from ...configuration_utils import PretrainedConfig
from ...onnx import OnnxSeqaSeqConfigWithPast
from ...utils import logging


_SCREAMING_SNAKE_CASE          = logging.get_logger(__name__)


class     lowerCamelCase_   ( _lowerCAmelCase):
 _lowerCAmelCase       		=  '''mt5'''
 _lowerCAmelCase       		=  ['''past_key_values''']




 def __init__( self     ,     _UpperCAmelCase=250_112     ,     _UpperCAmelCase=512     ,     _UpperCAmelCase=64     ,     _UpperCAmelCase=1_024     ,     _UpperCAmelCase=8     ,     _UpperCAmelCase=None     ,     _UpperCAmelCase=6     ,     _UpperCAmelCase=32     ,     _UpperCAmelCase=128     ,     _UpperCAmelCase=0.1     ,     _UpperCAmelCase=1E-6     ,     _UpperCAmelCase=1.0     ,     _UpperCAmelCase="gated-gelu"     ,     _UpperCAmelCase=True     ,     _UpperCAmelCase=True     ,     _UpperCAmelCase="T5Tokenizer"     ,     _UpperCAmelCase=False     ,     _UpperCAmelCase=0     ,     _UpperCAmelCase=1     ,     _UpperCAmelCase=0     ,     **_UpperCAmelCase     ,     ):
   super().__init__(
       is_encoder_decoder=_UpperCAmelCase     ,     tokenizer_class=_UpperCAmelCase     ,     tie_word_embeddings=_UpperCAmelCase     ,     pad_token_id=_UpperCAmelCase     ,     eos_token_id=_UpperCAmelCase     ,     decoder_start_token_id=_UpperCAmelCase     ,     **_UpperCAmelCase     ,     )
   __UpperCAmelCase  :     Dict		=    vocab_size
   __UpperCAmelCase  :     List[str]		=    d_model
   __UpperCAmelCase  :     str		=    d_kv
   __UpperCAmelCase  :     List[str]		=    d_ff
   __UpperCAmelCase  :     int		=    num_layers
   __UpperCAmelCase  :     List[Any]		=    (
       num_decoder_layers if num_decoder_layers is not None else self.num_layers
   )  # default = symmetry
   __UpperCAmelCase  :     List[Any]		=    num_heads
   __UpperCAmelCase  :     Tuple		=    relative_attention_num_buckets
   __UpperCAmelCase  :     Optional[int]		=    relative_attention_max_distance
   __UpperCAmelCase  :     Dict		=    dropout_rate
   __UpperCAmelCase  :     Union[str, Any]		=    layer_norm_epsilon
   __UpperCAmelCase  :     Tuple		=    initializer_factor
   __UpperCAmelCase  :     Union[str, Any]		=    feed_forward_proj
   __UpperCAmelCase  :     Optional[Any]		=    use_cache

   __UpperCAmelCase  :     Any		=    self.feed_forward_proj.split('-'       )
   __UpperCAmelCase  :     Dict		=    act_info[-1]
   __UpperCAmelCase  :     Any		=    act_info[0] == 'gated'

   if len(_UpperCAmelCase       ) > 1 and act_info[0] != "gated" or len(_UpperCAmelCase       ) > 2:
     raise ValueError(
         F"`feed_forward_proj`: {feed_forward_proj} is not a valid activation function of the dense layer."
         'Please make sure `feed_forward_proj` is of the format `gated-{ACT_FN}` or `{ACT_FN}`, e.g. '
         '\'gated-gelu\' or \'relu\''       )

   # for backwards compatibility
   if feed_forward_proj == "gated-gelu":
     __UpperCAmelCase  :     List[str]		=    'gelu_new'




 @property
 def 						a					( self       ):
   return self.d_model




 @property
 def 						a					( self       ):
   return self.num_heads




 @property
 def 						a					( self       ):
   return self.num_layers



class     lowerCamelCase_   ( _lowerCAmelCase):




 @property
 # Copied from transformers.models.t5.configuration_t5.T5OnnxConfig.inputs
 def 						a					( self       ):
   __UpperCAmelCase  :     Optional[int]		=    {
       'input_ids': {0: 'batch', 1: 'encoder_sequence'},
       'attention_mask': {0: 'batch', 1: 'encoder_sequence'},
   }
   if self.use_past:
     __UpperCAmelCase  :     Optional[Any]		=    'past_encoder_sequence + sequence'
     __UpperCAmelCase  :     Tuple		=    {0: 'batch'}
     __UpperCAmelCase  :     List[Any]		=    {0: 'batch', 1: 'past_decoder_sequence + sequence'}
   else:
     __UpperCAmelCase  :     Tuple		=    {0: 'batch', 1: 'decoder_sequence'}
     __UpperCAmelCase  :     int		=    {0: 'batch', 1: 'decoder_sequence'}

   if self.use_past:
     self.fill_with_past_key_values_(_UpperCAmelCase     ,     direction='inputs'       )

   return common_inputs




 @property
 # Copied from transformers.models.t5.configuration_t5.T5OnnxConfig.default_onnx_opset
 def 						a					( self       ):
   return 13




 @property
 def 						a					( self       ):
   return 5E-4





