

"""simple docstring"""





_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








"""simple docstring"""





from collections import OrderedDict
from typing import Mapping

from packaging import version

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


_a														=		logging.get_logger(__name__)

_a														=		{
    """facebook/levit-128S""": """https://huggingface.co/facebook/levit-128S/resolve/main/config.json""",
    # See all LeViT models at https://huggingface.co/models?filter=levit
}






class    _UpperCAmelCase(   lowerCamelCase     ):
		lowercase__      =				'levit'



		def __init__( self    ,		__a=2_24    ,		__a=3    ,		__a=3    ,		__a=2    ,		__a=1    ,		__a=16    ,		__a=[1_28, 2_56, 3_84]    ,		__a=[4, 8, 12]    ,		__a=[4, 4, 4]    ,		__a=[16, 16, 16]    ,		__a=0    ,		__a=[2, 2, 2]    ,		__a=[2, 2, 2]    ,		__a=0.02    ,		**__a    ,		)	->	List[str]:






							'''simple docstring'''
							super().__init__(**__a)
							_UpperCamelCase										=  image_size
							_UpperCamelCase										=  num_channels
							_UpperCamelCase										=  kernel_size
							_UpperCamelCase										=  stride
							_UpperCamelCase										=  padding
							_UpperCamelCase										=  hidden_sizes
							_UpperCamelCase										=  num_attention_heads
							_UpperCamelCase										=  depths
							_UpperCamelCase										=  key_dim
							_UpperCamelCase										=  drop_path_rate
							_UpperCamelCase										=  patch_size
							_UpperCamelCase										=  attention_ratio
							_UpperCamelCase										=  mlp_ratio
							_UpperCamelCase										=  initializer_range
							_UpperCamelCase										=  [
							    ['''Subsample''', key_dim[0], hidden_sizes[0] // key_dim[0], 4, 2, 2],
							    ['''Subsample''', key_dim[0], hidden_sizes[1] // key_dim[0], 4, 2, 2],
							]






class    _UpperCAmelCase(   lowerCamelCase     ):
		lowercase__      =				version.parse('1.11'     )



		@property
		def 						UpperCAmelCase							( self)	->	Mapping[str, Mapping[int, str]]:






							'''simple docstring'''
							return OrderedDict(
							    [
							        ('''pixel_values''', {0: '''batch''', 1: '''num_channels''', 2: '''height''', 3: '''width'''}),
							    ])




		@property
		def 						UpperCAmelCase							( self)	->	float:






							'''simple docstring'''
							return 1e-4






