import{S as Tt,i as Et,s as Ot,e as o,k as i,w,t as d,M as At,c as r,d as s,m as l,a as n,x as T,h as c,b as a,G as t,g as h,y as E,L as Nt,q as O,o as A,B as N,v as It}from"../../../chunks/vendor-hf-doc-builder.js";import{D as de}from"../../../chunks/Docstring-hf-doc-builder.js";import{I as at}from"../../../chunks/IconCopyLink-hf-doc-builder.js";function Ct(it){let m,le,g,y,K,I,$e,Q,we,ce,C,F,Te,Ee,pe,G,Oe,ue,R,X,Ae,he,_,P,Z,q,Ne,ee,Ie,fe,u,L,Ce,W,te,Fe,qe,Le,v,ke,j,Ve,He,B,Je,Ue,ze,S,k,Ge,se,Re,We,M,V,je,oe,Be,Ye,x,H,Ke,re,Qe,me,D,$,ne,J,Xe,ae,Ze,ge,b,U,et,z,tt,ie,st,ot,_e;return I=new at({}),q=new at({}),L=new de({props:{name:"class diffusers.DDPMScheduler",anchor:"diffusers.DDPMScheduler",parameters:[{name:"num_train_timesteps",val:": int = 1000"},{name:"beta_start",val:": float = 0.0001"},{name:"beta_end",val:": float = 0.02"},{name:"beta_schedule",val:": str = 'linear'"},{name:"trained_betas",val:": typing.Union[numpy.ndarray, typing.List[float], NoneType] = None"},{name:"variance_type",val:": str = 'fixed_small'"},{name:"clip_sample",val:": bool = True"},{name:"prediction_type",val:": str = 'epsilon'"},{name:"thresholding",val:": bool = False"},{name:"dynamic_thresholding_ratio",val:": float = 0.995"},{name:"clip_sample_range",val:": float = 1.0"},{name:"sample_max_value",val:": float = 1.0"},{name:"timestep_spacing",val:": str = 'leading'"},{name:"steps_offset",val:": int = 0"}],parametersDescription:[{anchor:"diffusers.DDPMScheduler.num_train_timesteps",description:`<strong>num_train_timesteps</strong> (<code>int</code>, defaults to 1000) &#x2014;
The number of diffusion steps to train the model.`,name:"num_train_timesteps"},{anchor:"diffusers.DDPMScheduler.beta_start",description:`<strong>beta_start</strong> (<code>float</code>, defaults to 0.0001) &#x2014;
The starting <code>beta</code> value of inference.`,name:"beta_start"},{anchor:"diffusers.DDPMScheduler.beta_end",description:`<strong>beta_end</strong> (<code>float</code>, defaults to 0.02) &#x2014;
The final <code>beta</code> value.`,name:"beta_end"},{anchor:"diffusers.DDPMScheduler.beta_schedule",description:`<strong>beta_schedule</strong> (<code>str</code>, defaults to <code>&quot;linear&quot;</code>) &#x2014;
The beta schedule, a mapping from a beta range to a sequence of betas for stepping the model. Choose from
<code>linear</code>, <code>scaled_linear</code>, or <code>squaredcos_cap_v2</code>.`,name:"beta_schedule"},{anchor:"diffusers.DDPMScheduler.variance_type",description:`<strong>variance_type</strong> (<code>str</code>, defaults to <code>&quot;fixed_small&quot;</code>) &#x2014;
Clip the variance when adding noise to the denoised sample. Choose from <code>fixed_small</code>, <code>fixed_small_log</code>,
<code>fixed_large</code>, <code>fixed_large_log</code>, <code>learned</code> or <code>learned_range</code>.`,name:"variance_type"},{anchor:"diffusers.DDPMScheduler.clip_sample",description:`<strong>clip_sample</strong> (<code>bool</code>, defaults to <code>True</code>) &#x2014;
Clip the predicted sample for numerical stability.`,name:"clip_sample"},{anchor:"diffusers.DDPMScheduler.clip_sample_range",description:`<strong>clip_sample_range</strong> (<code>float</code>, defaults to 1.0) &#x2014;
The maximum magnitude for sample clipping. Valid only when <code>clip_sample=True</code>.`,name:"clip_sample_range"},{anchor:"diffusers.DDPMScheduler.prediction_type",description:`<strong>prediction_type</strong> (<code>str</code>, defaults to <code>epsilon</code>, <em>optional</em>) &#x2014;
Prediction type of the scheduler function; can be <code>epsilon</code> (predicts the noise of the diffusion process),
<code>sample</code> (directly predicts the noisy sample<code>) or </code>v_prediction\` (see section 2.4 of <a href="https://imagen.research.google/video/paper.pdf" rel="nofollow">Imagen
Video</a> paper).`,name:"prediction_type"},{anchor:"diffusers.DDPMScheduler.thresholding",description:`<strong>thresholding</strong> (<code>bool</code>, defaults to <code>False</code>) &#x2014;
Whether to use the &#x201C;dynamic thresholding&#x201D; method. This is unsuitable for latent-space diffusion models such
as Stable Diffusion.`,name:"thresholding"},{anchor:"diffusers.DDPMScheduler.dynamic_thresholding_ratio",description:`<strong>dynamic_thresholding_ratio</strong> (<code>float</code>, defaults to 0.995) &#x2014;
The ratio for the dynamic thresholding method. Valid only when <code>thresholding=True</code>.`,name:"dynamic_thresholding_ratio"},{anchor:"diffusers.DDPMScheduler.sample_max_value",description:`<strong>sample_max_value</strong> (<code>float</code>, defaults to 1.0) &#x2014;
The threshold value for dynamic thresholding. Valid only when <code>thresholding=True</code>.`,name:"sample_max_value"},{anchor:"diffusers.DDPMScheduler.timestep_spacing",description:`<strong>timestep_spacing</strong> (<code>str</code>, defaults to <code>&quot;leading&quot;</code>) &#x2014;
The way the timesteps should be scaled. Refer to Table 2 of the <a href="https://huggingface.co/papers/2305.08891" rel="nofollow">Common Diffusion Noise Schedules and
Sample Steps are Flawed</a> for more information.`,name:"timestep_spacing"},{anchor:"diffusers.DDPMScheduler.steps_offset",description:`<strong>steps_offset</strong> (<code>int</code>, defaults to 0) &#x2014;
An offset added to the inference steps. You can use a combination of <code>offset=1</code> and
<code>set_alpha_to_one=False</code> to make the last step use step 0 for the previous alpha product like in Stable
Diffusion.`,name:"steps_offset"}],source:"https://github.com/huggingface/diffusers/blob/v0.20.0/src/diffusers/schedulers/scheduling_ddpm.py#L91"}}),k=new de({props:{name:"scale_model_input",anchor:"diffusers.DDPMScheduler.scale_model_input",parameters:[{name:"sample",val:": FloatTensor"},{name:"timestep",val:": typing.Optional[int] = None"}],parametersDescription:[{anchor:"diffusers.DDPMScheduler.scale_model_input.sample",description:`<strong>sample</strong> (<code>torch.FloatTensor</code>) &#x2014;
The input sample.`,name:"sample"},{anchor:"diffusers.DDPMScheduler.scale_model_input.timestep",description:`<strong>timestep</strong> (<code>int</code>, <em>optional</em>) &#x2014;
The current timestep in the diffusion chain.`,name:"timestep"}],source:"https://github.com/huggingface/diffusers/blob/v0.20.0/src/diffusers/schedulers/scheduling_ddpm.py#L189",returnDescription:`
<p>A scaled input sample.</p>
`,returnType:`
<p><code>torch.FloatTensor</code></p>
`}}),V=new de({props:{name:"set_timesteps",anchor:"diffusers.DDPMScheduler.set_timesteps",parameters:[{name:"num_inference_steps",val:": typing.Optional[int] = None"},{name:"device",val:": typing.Union[str, torch.device] = None"},{name:"timesteps",val:": typing.Optional[typing.List[int]] = None"}],parametersDescription:[{anchor:"diffusers.DDPMScheduler.set_timesteps.num_inference_steps",description:`<strong>num_inference_steps</strong> (<code>int</code>) &#x2014;
The number of diffusion steps used when generating samples with a pre-trained model. If used,
<code>timesteps</code> must be <code>None</code>.`,name:"num_inference_steps"},{anchor:"diffusers.DDPMScheduler.set_timesteps.device",description:`<strong>device</strong> (<code>str</code> or <code>torch.device</code>, <em>optional</em>) &#x2014;
The device to which the timesteps should be moved to. If <code>None</code>, the timesteps are not moved.`,name:"device"},{anchor:"diffusers.DDPMScheduler.set_timesteps.timesteps",description:`<strong>timesteps</strong> (<code>List[int]</code>, <em>optional</em>) &#x2014;
Custom timesteps used to support arbitrary spacing between timesteps. If <code>None</code>, then the default
timestep spacing strategy of equal spacing between timesteps is used. If <code>timesteps</code> is passed,
<code>num_inference_steps</code> must be <code>None</code>.`,name:"timesteps"}],source:"https://github.com/huggingface/diffusers/blob/v0.20.0/src/diffusers/schedulers/scheduling_ddpm.py#L206"}}),H=new de({props:{name:"step",anchor:"diffusers.DDPMScheduler.step",parameters:[{name:"model_output",val:": FloatTensor"},{name:"timestep",val:": int"},{name:"sample",val:": FloatTensor"},{name:"generator",val:" = None"},{name:"return_dict",val:": bool = True"}],parametersDescription:[{anchor:"diffusers.DDPMScheduler.step.model_output",description:`<strong>model_output</strong> (<code>torch.FloatTensor</code>) &#x2014;
The direct output from learned diffusion model.`,name:"model_output"},{anchor:"diffusers.DDPMScheduler.step.timestep",description:`<strong>timestep</strong> (<code>float</code>) &#x2014;
The current discrete timestep in the diffusion chain.`,name:"timestep"},{anchor:"diffusers.DDPMScheduler.step.sample",description:`<strong>sample</strong> (<code>torch.FloatTensor</code>) &#x2014;
A current instance of a sample created by the diffusion process.`,name:"sample"},{anchor:"diffusers.DDPMScheduler.step.generator",description:`<strong>generator</strong> (<code>torch.Generator</code>, <em>optional</em>) &#x2014;
A random number generator.`,name:"generator"},{anchor:"diffusers.DDPMScheduler.step.return_dict",description:`<strong>return_dict</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>True</code>) &#x2014;
Whether or not to return a <a href="/docs/diffusers/v0.20.0/en/api/schedulers/ddpm#diffusers.schedulers.scheduling_ddpm.DDPMSchedulerOutput">DDPMSchedulerOutput</a> or <code>tuple</code>.`,name:"return_dict"}],source:"https://github.com/huggingface/diffusers/blob/v0.20.0/src/diffusers/schedulers/scheduling_ddpm.py#L355",returnDescription:`
<p>If return_dict is <code>True</code>, <a
  href="/docs/diffusers/v0.20.0/en/api/schedulers/ddpm#diffusers.schedulers.scheduling_ddpm.DDPMSchedulerOutput"
>DDPMSchedulerOutput</a> is returned, otherwise a
tuple is returned where the first element is the sample tensor.</p>
`,returnType:`
<p><a
  href="/docs/diffusers/v0.20.0/en/api/schedulers/ddpm#diffusers.schedulers.scheduling_ddpm.DDPMSchedulerOutput"
>DDPMSchedulerOutput</a> or <code>tuple</code></p>
`}}),J=new at({}),U=new de({props:{name:"class diffusers.schedulers.scheduling_ddpm.DDPMSchedulerOutput",anchor:"diffusers.schedulers.scheduling_ddpm.DDPMSchedulerOutput",parameters:[{name:"prev_sample",val:": FloatTensor"},{name:"pred_original_sample",val:": typing.Optional[torch.FloatTensor] = None"}],parametersDescription:[{anchor:"diffusers.schedulers.scheduling_ddpm.DDPMSchedulerOutput.prev_sample",description:`<strong>prev_sample</strong> (<code>torch.FloatTensor</code> of shape <code>(batch_size, num_channels, height, width)</code> for images) &#x2014;
Computed sample <code>(x_{t-1})</code> of previous timestep. <code>prev_sample</code> should be used as next model input in the
denoising loop.`,name:"prev_sample"},{anchor:"diffusers.schedulers.scheduling_ddpm.DDPMSchedulerOutput.pred_original_sample",description:`<strong>pred_original_sample</strong> (<code>torch.FloatTensor</code> of shape <code>(batch_size, num_channels, height, width)</code> for images) &#x2014;
The predicted denoised sample <code>(x_{0})</code> based on the model output from the current timestep.
<code>pred_original_sample</code> can be used to preview progress or for guidance.`,name:"pred_original_sample"}],source:"https://github.com/huggingface/diffusers/blob/v0.20.0/src/diffusers/schedulers/scheduling_ddpm.py#L30"}}),{c(){m=o("meta"),le=i(),g=o("h1"),y=o("a"),K=o("span"),w(I.$$.fragment),$e=i(),Q=o("span"),we=d("DDPMScheduler"),ce=i(),C=o("p"),F=o("a"),Te=d("Denoising Diffusion Probabilistic Models"),Ee=d(" (DDPM) by Jonathan Ho, Ajay Jain and Pieter Abbeel proposes a diffusion based model of the same name. In the context of the \u{1F917} Diffusers library, DDPM refers to the discrete denoising scheduler from the paper as well as the pipeline."),pe=i(),G=o("p"),Oe=d("The abstract from the paper is:"),ue=i(),R=o("p"),X=o("em"),Ae=d("We present high quality image synthesis results using diffusion probabilistic models, a class of latent variable models inspired by considerations from nonequilibrium thermodynamics. Our best results are obtained by training on a weighted variational bound designed according to a novel connection between diffusion probabilistic models and denoising score matching with Langevin dynamics, and our models naturally admit a progressive lossy decompression scheme that can be interpreted as a generalization of autoregressive decoding. On the unconditional CIFAR10 dataset, we obtain an Inception score of 9.46 and a state-of-the-art FID score of 3.17. On 256x256 LSUN, we obtain sample quality similar to ProgressiveGAN."),he=i(),_=o("h2"),P=o("a"),Z=o("span"),w(q.$$.fragment),Ne=i(),ee=o("span"),Ie=d("DDPMScheduler"),fe=i(),u=o("div"),w(L.$$.fragment),Ce=i(),W=o("p"),te=o("code"),Fe=d("DDPMScheduler"),qe=d(" explores the connections between denoising score matching and Langevin dynamics sampling."),Le=i(),v=o("p"),ke=d("This model inherits from "),j=o("a"),Ve=d("SchedulerMixin"),He=d(" and "),B=o("a"),Je=d("ConfigMixin"),Ue=d(`. Check the superclass documentation for the generic
methods the library implements for all schedulers such as loading and saving.`),ze=i(),S=o("div"),w(k.$$.fragment),Ge=i(),se=o("p"),Re=d(`Ensures interchangeability with schedulers that need to scale the denoising model input depending on the
current timestep.`),We=i(),M=o("div"),w(V.$$.fragment),je=i(),oe=o("p"),Be=d("Sets the discrete timesteps used for the diffusion chain (to be run before inference)."),Ye=i(),x=o("div"),w(H.$$.fragment),Ke=i(),re=o("p"),Qe=d(`Predict the sample from the previous timestep by reversing the SDE. This function propagates the diffusion
process from the learned model outputs (most often the predicted noise).`),me=i(),D=o("h2"),$=o("a"),ne=o("span"),w(J.$$.fragment),Xe=i(),ae=o("span"),Ze=d("DDPMSchedulerOutput"),ge=i(),b=o("div"),w(U.$$.fragment),et=i(),z=o("p"),tt=d("Output class for the scheduler\u2019s "),ie=o("code"),st=d("step"),ot=d(" function output."),this.h()},l(e){const p=At('[data-svelte="svelte-1phssyn"]',document.head);m=r(p,"META",{name:!0,content:!0}),p.forEach(s),le=l(e),g=r(e,"H1",{class:!0});var ve=n(g);y=r(ve,"A",{id:!0,class:!0,href:!0});var dt=n(y);K=r(dt,"SPAN",{});var lt=n(K);T(I.$$.fragment,lt),lt.forEach(s),dt.forEach(s),$e=l(ve),Q=r(ve,"SPAN",{});var ct=n(Q);we=c(ct,"DDPMScheduler"),ct.forEach(s),ve.forEach(s),ce=l(e),C=r(e,"P",{});var rt=n(C);F=r(rt,"A",{href:!0,rel:!0});var pt=n(F);Te=c(pt,"Denoising Diffusion Probabilistic Models"),pt.forEach(s),Ee=c(rt," (DDPM) by Jonathan Ho, Ajay Jain and Pieter Abbeel proposes a diffusion based model of the same name. In the context of the \u{1F917} Diffusers library, DDPM refers to the discrete denoising scheduler from the paper as well as the pipeline."),rt.forEach(s),pe=l(e),G=r(e,"P",{});var ut=n(G);Oe=c(ut,"The abstract from the paper is:"),ut.forEach(s),ue=l(e),R=r(e,"P",{});var ht=n(R);X=r(ht,"EM",{});var ft=n(X);Ae=c(ft,"We present high quality image synthesis results using diffusion probabilistic models, a class of latent variable models inspired by considerations from nonequilibrium thermodynamics. Our best results are obtained by training on a weighted variational bound designed according to a novel connection between diffusion probabilistic models and denoising score matching with Langevin dynamics, and our models naturally admit a progressive lossy decompression scheme that can be interpreted as a generalization of autoregressive decoding. On the unconditional CIFAR10 dataset, we obtain an Inception score of 9.46 and a state-of-the-art FID score of 3.17. On 256x256 LSUN, we obtain sample quality similar to ProgressiveGAN."),ft.forEach(s),ht.forEach(s),he=l(e),_=r(e,"H2",{class:!0});var De=n(_);P=r(De,"A",{id:!0,class:!0,href:!0});var mt=n(P);Z=r(mt,"SPAN",{});var gt=n(Z);T(q.$$.fragment,gt),gt.forEach(s),mt.forEach(s),Ne=l(De),ee=r(De,"SPAN",{});var _t=n(ee);Ie=c(_t,"DDPMScheduler"),_t.forEach(s),De.forEach(s),fe=l(e),u=r(e,"DIV",{class:!0});var f=n(u);T(L.$$.fragment,f),Ce=l(f),W=r(f,"P",{});var nt=n(W);te=r(nt,"CODE",{});var vt=n(te);Fe=c(vt,"DDPMScheduler"),vt.forEach(s),qe=c(nt," explores the connections between denoising score matching and Langevin dynamics sampling."),nt.forEach(s),Le=l(f),v=r(f,"P",{});var Y=n(v);ke=c(Y,"This model inherits from "),j=r(Y,"A",{href:!0});var Dt=n(j);Ve=c(Dt,"SchedulerMixin"),Dt.forEach(s),He=c(Y," and "),B=r(Y,"A",{href:!0});var bt=n(B);Je=c(bt,"ConfigMixin"),bt.forEach(s),Ue=c(Y,`. Check the superclass documentation for the generic
methods the library implements for all schedulers such as loading and saving.`),Y.forEach(s),ze=l(f),S=r(f,"DIV",{class:!0});var be=n(S);T(k.$$.fragment,be),Ge=l(be),se=r(be,"P",{});var yt=n(se);Re=c(yt,`Ensures interchangeability with schedulers that need to scale the denoising model input depending on the
current timestep.`),yt.forEach(s),be.forEach(s),We=l(f),M=r(f,"DIV",{class:!0});var ye=n(M);T(V.$$.fragment,ye),je=l(ye),oe=r(ye,"P",{});var Pt=n(oe);Be=c(Pt,"Sets the discrete timesteps used for the diffusion chain (to be run before inference)."),Pt.forEach(s),ye.forEach(s),Ye=l(f),x=r(f,"DIV",{class:!0});var Pe=n(x);T(H.$$.fragment,Pe),Ke=l(Pe),re=r(Pe,"P",{});var St=n(re);Qe=c(St,`Predict the sample from the previous timestep by reversing the SDE. This function propagates the diffusion
process from the learned model outputs (most often the predicted noise).`),St.forEach(s),Pe.forEach(s),f.forEach(s),me=l(e),D=r(e,"H2",{class:!0});var Se=n(D);$=r(Se,"A",{id:!0,class:!0,href:!0});var Mt=n($);ne=r(Mt,"SPAN",{});var xt=n(ne);T(J.$$.fragment,xt),xt.forEach(s),Mt.forEach(s),Xe=l(Se),ae=r(Se,"SPAN",{});var $t=n(ae);Ze=c($t,"DDPMSchedulerOutput"),$t.forEach(s),Se.forEach(s),ge=l(e),b=r(e,"DIV",{class:!0});var Me=n(b);T(U.$$.fragment,Me),et=l(Me),z=r(Me,"P",{});var xe=n(z);tt=c(xe,"Output class for the scheduler\u2019s "),ie=r(xe,"CODE",{});var wt=n(ie);st=c(wt,"step"),wt.forEach(s),ot=c(xe," function output."),xe.forEach(s),Me.forEach(s),this.h()},h(){a(m,"name","hf:doc:metadata"),a(m,"content",JSON.stringify(Ft)),a(y,"id","ddpmscheduler"),a(y,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),a(y,"href","#ddpmscheduler"),a(g,"class","relative group"),a(F,"href","https://huggingface.co/papers/2006.11239"),a(F,"rel","nofollow"),a(P,"id","diffusers.DDPMScheduler"),a(P,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),a(P,"href","#diffusers.DDPMScheduler"),a(_,"class","relative group"),a(j,"href","/docs/diffusers/v0.20.0/en/api/schedulers/overview#diffusers.SchedulerMixin"),a(B,"href","/docs/diffusers/v0.20.0/en/api/configuration#diffusers.ConfigMixin"),a(S,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),a(M,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),a(x,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),a(u,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),a($,"id","diffusers.schedulers.scheduling_ddpm.DDPMSchedulerOutput"),a($,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),a($,"href","#diffusers.schedulers.scheduling_ddpm.DDPMSchedulerOutput"),a(D,"class","relative group"),a(b,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8")},m(e,p){t(document.head,m),h(e,le,p),h(e,g,p),t(g,y),t(y,K),E(I,K,null),t(g,$e),t(g,Q),t(Q,we),h(e,ce,p),h(e,C,p),t(C,F),t(F,Te),t(C,Ee),h(e,pe,p),h(e,G,p),t(G,Oe),h(e,ue,p),h(e,R,p),t(R,X),t(X,Ae),h(e,he,p),h(e,_,p),t(_,P),t(P,Z),E(q,Z,null),t(_,Ne),t(_,ee),t(ee,Ie),h(e,fe,p),h(e,u,p),E(L,u,null),t(u,Ce),t(u,W),t(W,te),t(te,Fe),t(W,qe),t(u,Le),t(u,v),t(v,ke),t(v,j),t(j,Ve),t(v,He),t(v,B),t(B,Je),t(v,Ue),t(u,ze),t(u,S),E(k,S,null),t(S,Ge),t(S,se),t(se,Re),t(u,We),t(u,M),E(V,M,null),t(M,je),t(M,oe),t(oe,Be),t(u,Ye),t(u,x),E(H,x,null),t(x,Ke),t(x,re),t(re,Qe),h(e,me,p),h(e,D,p),t(D,$),t($,ne),E(J,ne,null),t(D,Xe),t(D,ae),t(ae,Ze),h(e,ge,p),h(e,b,p),E(U,b,null),t(b,et),t(b,z),t(z,tt),t(z,ie),t(ie,st),t(z,ot),_e=!0},p:Nt,i(e){_e||(O(I.$$.fragment,e),O(q.$$.fragment,e),O(L.$$.fragment,e),O(k.$$.fragment,e),O(V.$$.fragment,e),O(H.$$.fragment,e),O(J.$$.fragment,e),O(U.$$.fragment,e),_e=!0)},o(e){A(I.$$.fragment,e),A(q.$$.fragment,e),A(L.$$.fragment,e),A(k.$$.fragment,e),A(V.$$.fragment,e),A(H.$$.fragment,e),A(J.$$.fragment,e),A(U.$$.fragment,e),_e=!1},d(e){s(m),e&&s(le),e&&s(g),N(I),e&&s(ce),e&&s(C),e&&s(pe),e&&s(G),e&&s(ue),e&&s(R),e&&s(he),e&&s(_),N(q),e&&s(fe),e&&s(u),N(L),N(k),N(V),N(H),e&&s(me),e&&s(D),N(J),e&&s(ge),e&&s(b),N(U)}}}const Ft={local:"ddpmscheduler",sections:[{local:"diffusers.DDPMScheduler",title:"DDPMScheduler"},{local:"diffusers.schedulers.scheduling_ddpm.DDPMSchedulerOutput",title:"DDPMSchedulerOutput"}],title:"DDPMScheduler"};function qt(it){return It(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Ht extends Tt{constructor(m){super();Et(this,m,qt,Ct,Ot,{})}}export{Ht as default,Ft as metadata};
