
lowercase__							:							Union[str, Any]													=	"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'''







import json
import os
import tempfile

from transformers.testing_utils import check_json_file_has_correct_format






class  lowerCAmelCase__   :
					lowerCAmelCase_        =     None






					def 	_snake_case    (   self		):


											"""simple docstring"""





											lowercase_	:     Tuple													=       self.feature_extraction_class(**self.feat_extract_dict		)
											lowercase_	:     Any													=       json.loads(feat_extract.to_json_string()		)
											for key, value in self.feat_extract_dict.items():
																	self.assertEqual(obj[key]				,							__SCREAMING_SNAKE_CASE		)






					def 	_snake_case    (   self		):


											"""simple docstring"""





											lowercase_	:     str													=       self.feature_extraction_class(**self.feat_extract_dict		)

											with tempfile.TemporaryDirectory() as tmpdirname:
																	lowercase_	:     str													=       os.path.join(__SCREAMING_SNAKE_CASE				,							'''feat_extract.json'''		)
																	feat_extract_first.to_json_file(__SCREAMING_SNAKE_CASE		)
																	lowercase_	:     str													=       self.feature_extraction_class.from_json_file(__SCREAMING_SNAKE_CASE		)

											self.assertEqual(feat_extract_second.to_dict()				,							feat_extract_first.to_dict()		)






					def 	_snake_case    (   self		):


											"""simple docstring"""





											lowercase_	:     Tuple													=       self.feature_extraction_class(**self.feat_extract_dict		)

											with tempfile.TemporaryDirectory() as tmpdirname:
																	lowercase_	:     Union[str, Any]													=       feat_extract_first.save_pretrained(__SCREAMING_SNAKE_CASE		)[0]
																	check_json_file_has_correct_format(__SCREAMING_SNAKE_CASE		)
																	lowercase_	:     str													=       self.feature_extraction_class.from_pretrained(__SCREAMING_SNAKE_CASE		)

											self.assertEqual(feat_extract_second.to_dict()				,							feat_extract_first.to_dict()		)






					def 	_snake_case    (   self		):


											"""simple docstring"""





											lowercase_	:     Optional[Any]													=       self.feature_extraction_class()
											self.assertIsNotNone(__SCREAMING_SNAKE_CASE		)



