| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| from typing import TYPE_CHECKING |
|
|
| from ..utils import ( |
| DIFFUSERS_SLOW_IMPORT, |
| OptionalDependencyNotAvailable, |
| _LazyModule, |
| get_objects_from_module, |
| is_flax_available, |
| is_scipy_available, |
| is_torch_available, |
| is_torchsde_available, |
| ) |
|
|
|
|
| _dummy_modules = {} |
| _import_structure = {} |
|
|
| try: |
| if not is_torch_available(): |
| raise OptionalDependencyNotAvailable() |
| except OptionalDependencyNotAvailable: |
| from ..utils import dummy_pt_objects |
|
|
| _dummy_modules.update(get_objects_from_module(dummy_pt_objects)) |
|
|
| else: |
| _import_structure["deprecated"] = ["KarrasVeScheduler", "ScoreSdeVpScheduler"] |
| _import_structure["scheduling_amused"] = ["AmusedScheduler"] |
| _import_structure["scheduling_consistency_decoder"] = ["ConsistencyDecoderScheduler"] |
| _import_structure["scheduling_consistency_models"] = ["CMStochasticIterativeScheduler"] |
| _import_structure["scheduling_ddim"] = ["DDIMScheduler"] |
| _import_structure["scheduling_ddim_cogvideox"] = ["CogVideoXDDIMScheduler"] |
| _import_structure["scheduling_ddim_inverse"] = ["DDIMInverseScheduler"] |
| _import_structure["scheduling_ddim_parallel"] = ["DDIMParallelScheduler"] |
| _import_structure["scheduling_ddpm"] = ["DDPMScheduler"] |
| _import_structure["scheduling_ddpm_parallel"] = ["DDPMParallelScheduler"] |
| _import_structure["scheduling_ddpm_wuerstchen"] = ["DDPMWuerstchenScheduler"] |
| _import_structure["scheduling_deis_multistep"] = ["DEISMultistepScheduler"] |
| _import_structure["scheduling_dpm_cogvideox"] = ["CogVideoXDPMScheduler"] |
| _import_structure["scheduling_dpmsolver_multistep"] = ["DPMSolverMultistepScheduler"] |
| _import_structure["scheduling_dpmsolver_multistep_inverse"] = ["DPMSolverMultistepInverseScheduler"] |
| _import_structure["scheduling_dpmsolver_singlestep"] = ["DPMSolverSinglestepScheduler"] |
| _import_structure["scheduling_edm_dpmsolver_multistep"] = ["EDMDPMSolverMultistepScheduler"] |
| _import_structure["scheduling_edm_euler"] = ["EDMEulerScheduler"] |
| _import_structure["scheduling_euler_ancestral_discrete"] = ["EulerAncestralDiscreteScheduler"] |
| _import_structure["scheduling_euler_discrete"] = ["EulerDiscreteScheduler"] |
| _import_structure["scheduling_flow_match_euler_discrete"] = ["FlowMatchEulerDiscreteScheduler"] |
| _import_structure["scheduling_flow_match_heun_discrete"] = ["FlowMatchHeunDiscreteScheduler"] |
| _import_structure["scheduling_heun_discrete"] = ["HeunDiscreteScheduler"] |
| _import_structure["scheduling_ipndm"] = ["IPNDMScheduler"] |
| _import_structure["scheduling_k_dpm_2_ancestral_discrete"] = ["KDPM2AncestralDiscreteScheduler"] |
| _import_structure["scheduling_k_dpm_2_discrete"] = ["KDPM2DiscreteScheduler"] |
| _import_structure["scheduling_lcm"] = ["LCMScheduler"] |
| _import_structure["scheduling_pndm"] = ["PNDMScheduler"] |
| _import_structure["scheduling_repaint"] = ["RePaintScheduler"] |
| _import_structure["scheduling_sasolver"] = ["SASolverScheduler"] |
| _import_structure["scheduling_sde_ve"] = ["ScoreSdeVeScheduler"] |
| _import_structure["scheduling_tcd"] = ["TCDScheduler"] |
| _import_structure["scheduling_unclip"] = ["UnCLIPScheduler"] |
| _import_structure["scheduling_unipc_multistep"] = ["UniPCMultistepScheduler"] |
| _import_structure["scheduling_utils"] = ["AysSchedules", "KarrasDiffusionSchedulers", "SchedulerMixin"] |
| _import_structure["scheduling_vq_diffusion"] = ["VQDiffusionScheduler"] |
|
|
| try: |
| if not is_flax_available(): |
| raise OptionalDependencyNotAvailable() |
| except OptionalDependencyNotAvailable: |
| from ..utils import dummy_flax_objects |
|
|
| _dummy_modules.update(get_objects_from_module(dummy_flax_objects)) |
|
|
| else: |
| _import_structure["scheduling_ddim_flax"] = ["FlaxDDIMScheduler"] |
| _import_structure["scheduling_ddpm_flax"] = ["FlaxDDPMScheduler"] |
| _import_structure["scheduling_dpmsolver_multistep_flax"] = ["FlaxDPMSolverMultistepScheduler"] |
| _import_structure["scheduling_euler_discrete_flax"] = ["FlaxEulerDiscreteScheduler"] |
| _import_structure["scheduling_karras_ve_flax"] = ["FlaxKarrasVeScheduler"] |
| _import_structure["scheduling_lms_discrete_flax"] = ["FlaxLMSDiscreteScheduler"] |
| _import_structure["scheduling_pndm_flax"] = ["FlaxPNDMScheduler"] |
| _import_structure["scheduling_sde_ve_flax"] = ["FlaxScoreSdeVeScheduler"] |
| _import_structure["scheduling_utils_flax"] = [ |
| "FlaxKarrasDiffusionSchedulers", |
| "FlaxSchedulerMixin", |
| "FlaxSchedulerOutput", |
| "broadcast_to_shape_from_left", |
| ] |
|
|
|
|
| try: |
| if not (is_torch_available() and is_scipy_available()): |
| raise OptionalDependencyNotAvailable() |
| except OptionalDependencyNotAvailable: |
| from ..utils import dummy_torch_and_scipy_objects |
|
|
| _dummy_modules.update(get_objects_from_module(dummy_torch_and_scipy_objects)) |
|
|
| else: |
| _import_structure["scheduling_lms_discrete"] = ["LMSDiscreteScheduler"] |
|
|
| try: |
| if not (is_torch_available() and is_torchsde_available()): |
| raise OptionalDependencyNotAvailable() |
| except OptionalDependencyNotAvailable: |
| from ..utils import dummy_torch_and_torchsde_objects |
|
|
| _dummy_modules.update(get_objects_from_module(dummy_torch_and_torchsde_objects)) |
|
|
| else: |
| _import_structure["scheduling_cosine_dpmsolver_multistep"] = ["CosineDPMSolverMultistepScheduler"] |
| _import_structure["scheduling_dpmsolver_sde"] = ["DPMSolverSDEScheduler"] |
|
|
| if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT: |
| from ..utils import ( |
| OptionalDependencyNotAvailable, |
| is_flax_available, |
| is_scipy_available, |
| is_torch_available, |
| is_torchsde_available, |
| ) |
|
|
| try: |
| if not is_torch_available(): |
| raise OptionalDependencyNotAvailable() |
| except OptionalDependencyNotAvailable: |
| from ..utils.dummy_pt_objects import * |
| else: |
| from .deprecated import KarrasVeScheduler, ScoreSdeVpScheduler |
| from .scheduling_amused import AmusedScheduler |
| from .scheduling_consistency_decoder import ConsistencyDecoderScheduler |
| from .scheduling_consistency_models import CMStochasticIterativeScheduler |
| from .scheduling_ddim import DDIMScheduler |
| from .scheduling_ddim_cogvideox import CogVideoXDDIMScheduler |
| from .scheduling_ddim_inverse import DDIMInverseScheduler |
| from .scheduling_ddim_parallel import DDIMParallelScheduler |
| from .scheduling_ddpm import DDPMScheduler |
| from .scheduling_ddpm_parallel import DDPMParallelScheduler |
| from .scheduling_ddpm_wuerstchen import DDPMWuerstchenScheduler |
| from .scheduling_deis_multistep import DEISMultistepScheduler |
| from .scheduling_dpm_cogvideox import CogVideoXDPMScheduler |
| from .scheduling_dpmsolver_multistep import DPMSolverMultistepScheduler |
| from .scheduling_dpmsolver_multistep_inverse import DPMSolverMultistepInverseScheduler |
| from .scheduling_dpmsolver_singlestep import DPMSolverSinglestepScheduler |
| from .scheduling_edm_dpmsolver_multistep import EDMDPMSolverMultistepScheduler |
| from .scheduling_edm_euler import EDMEulerScheduler |
| from .scheduling_euler_ancestral_discrete import EulerAncestralDiscreteScheduler |
| from .scheduling_euler_discrete import EulerDiscreteScheduler |
| from .scheduling_flow_match_euler_discrete import FlowMatchEulerDiscreteScheduler |
| from .scheduling_flow_match_heun_discrete import FlowMatchHeunDiscreteScheduler |
| from .scheduling_heun_discrete import HeunDiscreteScheduler |
| from .scheduling_ipndm import IPNDMScheduler |
| from .scheduling_k_dpm_2_ancestral_discrete import KDPM2AncestralDiscreteScheduler |
| from .scheduling_k_dpm_2_discrete import KDPM2DiscreteScheduler |
| from .scheduling_lcm import LCMScheduler |
| from .scheduling_pndm import PNDMScheduler |
| from .scheduling_repaint import RePaintScheduler |
| from .scheduling_sasolver import SASolverScheduler |
| from .scheduling_sde_ve import ScoreSdeVeScheduler |
| from .scheduling_tcd import TCDScheduler |
| from .scheduling_unclip import UnCLIPScheduler |
| from .scheduling_unipc_multistep import UniPCMultistepScheduler |
| from .scheduling_utils import AysSchedules, KarrasDiffusionSchedulers, SchedulerMixin |
| from .scheduling_vq_diffusion import VQDiffusionScheduler |
|
|
| try: |
| if not is_flax_available(): |
| raise OptionalDependencyNotAvailable() |
| except OptionalDependencyNotAvailable: |
| from ..utils.dummy_flax_objects import * |
| else: |
| from .scheduling_ddim_flax import FlaxDDIMScheduler |
| from .scheduling_ddpm_flax import FlaxDDPMScheduler |
| from .scheduling_dpmsolver_multistep_flax import FlaxDPMSolverMultistepScheduler |
| from .scheduling_euler_discrete_flax import FlaxEulerDiscreteScheduler |
| from .scheduling_karras_ve_flax import FlaxKarrasVeScheduler |
| from .scheduling_lms_discrete_flax import FlaxLMSDiscreteScheduler |
| from .scheduling_pndm_flax import FlaxPNDMScheduler |
| from .scheduling_sde_ve_flax import FlaxScoreSdeVeScheduler |
| from .scheduling_utils_flax import ( |
| FlaxKarrasDiffusionSchedulers, |
| FlaxSchedulerMixin, |
| FlaxSchedulerOutput, |
| broadcast_to_shape_from_left, |
| ) |
|
|
| try: |
| if not (is_torch_available() and is_scipy_available()): |
| raise OptionalDependencyNotAvailable() |
| except OptionalDependencyNotAvailable: |
| from ..utils.dummy_torch_and_scipy_objects import * |
| else: |
| from .scheduling_lms_discrete import LMSDiscreteScheduler |
|
|
| try: |
| if not (is_torch_available() and is_torchsde_available()): |
| raise OptionalDependencyNotAvailable() |
| except OptionalDependencyNotAvailable: |
| from ..utils.dummy_torch_and_torchsde_objects import * |
| else: |
| from .scheduling_cosine_dpmsolver_multistep import CosineDPMSolverMultistepScheduler |
| from .scheduling_dpmsolver_sde import DPMSolverSDEScheduler |
|
|
| else: |
| import sys |
|
|
| sys.modules[__name__] = _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__) |
| for name, value in _dummy_modules.items(): |
| setattr(sys.modules[__name__], name, value) |
|
|