import{S as lt,i as ct,s as dt,e as a,k as d,w as S,t as n,M as pt,c as s,d as t,m as p,a as o,x as E,h as i,b as l,G as e,g as _,y as V,L as ht,q as w,o as T,B as O,v as ut}from"../../../chunks/vendor-hf-doc-builder.js";import{D as te}from"../../../chunks/Docstring-hf-doc-builder.js";import{I as Pr}from"../../../chunks/IconCopyLink-hf-doc-builder.js";function ft(Fr){let v,xe,b,K,ae,L,Me,se,Ce,$e,x,y,oe,N,Le,ne,Ne,Se,D,Ie,I,Ge,qe,Ee,$,k,ie,G,Be,le,Ue,Ve,c,q,He,ce,Ye,Je,A,Re,B,We,je,U,ze,Qe,u,Q,Xe,Ze,de,er,rr,pe,tr,ar,he,sr,or,X,nr,ir,Z,lr,cr,ee,dr,pr,hr,H,ur,Y,fr,mr,gr,g,J,_r,ue,vr,br,fe,xr,$r,P,R,Sr,me,Er,Vr,F,W,wr,ge,Tr,Or,M,j,Kr,_e,yr,Dr,C,z,kr,ve,Ar,we;return L=new Pr({}),N=new Pr({}),G=new Pr({}),q=new te({props:{name:"class diffusers.KarrasVeScheduler",anchor:"diffusers.KarrasVeScheduler",parameters:[{name:"sigma_min",val:": float = 0.02"},{name:"sigma_max",val:": float = 100"},{name:"s_noise",val:": float = 1.007"},{name:"s_churn",val:": float = 80"},{name:"s_min",val:": float = 0.05"},{name:"s_max",val:": float = 50"}],parametersDescription:[{anchor:"diffusers.KarrasVeScheduler.sigma_min",description:"<strong>sigma_min</strong> (<code>float</code>) &#x2014; minimum noise magnitude",name:"sigma_min"},{anchor:"diffusers.KarrasVeScheduler.sigma_max",description:"<strong>sigma_max</strong> (<code>float</code>) &#x2014; maximum noise magnitude",name:"sigma_max"},{anchor:"diffusers.KarrasVeScheduler.s_noise",description:`<strong>s_noise</strong> (<code>float</code>) &#x2014; the amount of additional noise to counteract loss of detail during sampling.
A reasonable range is [1.000, 1.011].`,name:"s_noise"},{anchor:"diffusers.KarrasVeScheduler.s_churn",description:`<strong>s_churn</strong> (<code>float</code>) &#x2014; the parameter controlling the overall amount of stochasticity.
A reasonable range is [0, 100].`,name:"s_churn"},{anchor:"diffusers.KarrasVeScheduler.s_min",description:`<strong>s_min</strong> (<code>float</code>) &#x2014; the start value of the sigma range where we add noise (enable stochasticity).
A reasonable range is [0, 10].`,name:"s_min"},{anchor:"diffusers.KarrasVeScheduler.s_max",description:`<strong>s_max</strong> (<code>float</code>) &#x2014; the end value of the sigma range where we add noise.
A reasonable range is [0.2, 80].`,name:"s_max"}],source:"https://github.com/huggingface/diffusers/blob/v0.16.0/src/diffusers/schedulers/scheduling_karras_ve.py#L48"}}),J=new te({props:{name:"add_noise_to_input",anchor:"diffusers.KarrasVeScheduler.add_noise_to_input",parameters:[{name:"sample",val:": FloatTensor"},{name:"sigma",val:": float"},{name:"generator",val:": typing.Optional[torch._C.Generator] = None"}],source:"https://github.com/huggingface/diffusers/blob/v0.16.0/src/diffusers/schedulers/scheduling_karras_ve.py#L135"}}),R=new te({props:{name:"scale_model_input",anchor:"diffusers.KarrasVeScheduler.scale_model_input",parameters:[{name:"sample",val:": FloatTensor"},{name:"timestep",val:": typing.Optional[int] = None"}],parametersDescription:[{anchor:"diffusers.KarrasVeScheduler.scale_model_input.sample",description:"<strong>sample</strong> (<code>torch.FloatTensor</code>) &#x2014; input sample",name:"sample"},{anchor:"diffusers.KarrasVeScheduler.scale_model_input.timestep",description:"<strong>timestep</strong> (<code>int</code>, optional) &#x2014; current timestep",name:"timestep"}],source:"https://github.com/huggingface/diffusers/blob/v0.16.0/src/diffusers/schedulers/scheduling_karras_ve.py#L100",returnDescription:`
<p>scaled input sample</p>
`,returnType:`
<p><code>torch.FloatTensor</code></p>
`}}),W=new te({props:{name:"set_timesteps",anchor:"diffusers.KarrasVeScheduler.set_timesteps",parameters:[{name:"num_inference_steps",val:": int"},{name:"device",val:": typing.Union[str, torch.device] = None"}],parametersDescription:[{anchor:"diffusers.KarrasVeScheduler.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.`,name:"num_inference_steps"}],source:"https://github.com/huggingface/diffusers/blob/v0.16.0/src/diffusers/schedulers/scheduling_karras_ve.py#L114"}}),j=new te({props:{name:"step",anchor:"diffusers.KarrasVeScheduler.step",parameters:[{name:"model_output",val:": FloatTensor"},{name:"sigma_hat",val:": float"},{name:"sigma_prev",val:": float"},{name:"sample_hat",val:": FloatTensor"},{name:"return_dict",val:": bool = True"}],parametersDescription:[{anchor:"diffusers.KarrasVeScheduler.step.model_output",description:"<strong>model_output</strong> (<code>torch.FloatTensor</code>) &#x2014; direct output from learned diffusion model.",name:"model_output"},{anchor:"diffusers.KarrasVeScheduler.step.sigma_hat",description:"<strong>sigma_hat</strong> (<code>float</code>) &#x2014; TODO",name:"sigma_hat"},{anchor:"diffusers.KarrasVeScheduler.step.sigma_prev",description:"<strong>sigma_prev</strong> (<code>float</code>) &#x2014; TODO",name:"sigma_prev"},{anchor:"diffusers.KarrasVeScheduler.step.sample_hat",description:"<strong>sample_hat</strong> (<code>torch.FloatTensor</code>) &#x2014; TODO",name:"sample_hat"},{anchor:"diffusers.KarrasVeScheduler.step.return_dict",description:`<strong>return_dict</strong> (<code>bool</code>) &#x2014; option for returning tuple rather than KarrasVeOutput class</p>
<p>KarrasVeOutput &#x2014; updated sample in the diffusion chain and derivative (TODO double check).`,name:"return_dict"}],source:"https://github.com/huggingface/diffusers/blob/v0.16.0/src/diffusers/schedulers/scheduling_karras_ve.py#L156",returnDescription:`
<p><code>KarrasVeOutput</code> if <code>return_dict</code> is True, otherwise a <code>tuple</code>. When
returning a tuple, the first element is the sample tensor.</p>
`,returnType:`
<p><code>KarrasVeOutput</code> or <code>tuple</code></p>
`}}),z=new te({props:{name:"step_correct",anchor:"diffusers.KarrasVeScheduler.step_correct",parameters:[{name:"model_output",val:": FloatTensor"},{name:"sigma_hat",val:": float"},{name:"sigma_prev",val:": float"},{name:"sample_hat",val:": FloatTensor"},{name:"sample_prev",val:": FloatTensor"},{name:"derivative",val:": FloatTensor"},{name:"return_dict",val:": bool = True"}],parametersDescription:[{anchor:"diffusers.KarrasVeScheduler.step_correct.model_output",description:"<strong>model_output</strong> (<code>torch.FloatTensor</code>) &#x2014; direct output from learned diffusion model.",name:"model_output"},{anchor:"diffusers.KarrasVeScheduler.step_correct.sigma_hat",description:"<strong>sigma_hat</strong> (<code>float</code>) &#x2014; TODO",name:"sigma_hat"},{anchor:"diffusers.KarrasVeScheduler.step_correct.sigma_prev",description:"<strong>sigma_prev</strong> (<code>float</code>) &#x2014; TODO",name:"sigma_prev"},{anchor:"diffusers.KarrasVeScheduler.step_correct.sample_hat",description:"<strong>sample_hat</strong> (<code>torch.FloatTensor</code>) &#x2014; TODO",name:"sample_hat"},{anchor:"diffusers.KarrasVeScheduler.step_correct.sample_prev",description:"<strong>sample_prev</strong> (<code>torch.FloatTensor</code>) &#x2014; TODO",name:"sample_prev"},{anchor:"diffusers.KarrasVeScheduler.step_correct.derivative",description:"<strong>derivative</strong> (<code>torch.FloatTensor</code>) &#x2014; TODO",name:"derivative"},{anchor:"diffusers.KarrasVeScheduler.step_correct.return_dict",description:"<strong>return_dict</strong> (<code>bool</code>) &#x2014; option for returning tuple rather than KarrasVeOutput class",name:"return_dict"}],source:"https://github.com/huggingface/diffusers/blob/v0.16.0/src/diffusers/schedulers/scheduling_karras_ve.py#L194",returnDescription:`
<p>updated sample in the diffusion chain. derivative (TODO): TODO</p>
`,returnType:`
<p>prev_sample (TODO)</p>
`}}),{c(){v=a("meta"),xe=d(),b=a("h1"),K=a("a"),ae=a("span"),S(L.$$.fragment),Me=d(),se=a("span"),Ce=n("Variance exploding, stochastic sampling from Karras et. al"),$e=d(),x=a("h2"),y=a("a"),oe=a("span"),S(N.$$.fragment),Le=d(),ne=a("span"),Ne=n("Overview"),Se=d(),D=a("p"),Ie=n("Original paper can be found "),I=a("a"),Ge=n("here"),qe=n("."),Ee=d(),$=a("h2"),k=a("a"),ie=a("span"),S(G.$$.fragment),Be=d(),le=a("span"),Ue=n("KarrasVeScheduler"),Ve=d(),c=a("div"),S(q.$$.fragment),He=d(),ce=a("p"),Ye=n(`Stochastic sampling from Karras et al. [1] tailored to the Variance-Expanding (VE) models [2]. Use Algorithm 2 and
the VE column of Table 1 from [1] for reference.`),Je=d(),A=a("p"),Re=n(`[1] Karras, Tero, et al. \u201CElucidating the Design Space of Diffusion-Based Generative Models.\u201D
`),B=a("a"),We=n("https://arxiv.org/abs/2206.00364"),je=n(` [2] Song, Yang, et al. \u201CScore-based generative modeling through stochastic
differential equations.\u201D `),U=a("a"),ze=n("https://arxiv.org/abs/2011.13456"),Qe=d(),u=a("p"),Q=a("a"),Xe=n("~ConfigMixin"),Ze=n(" takes care of storing all config attributes that are passed in the scheduler\u2019s "),de=a("code"),er=n("__init__"),rr=n(`
function, such as `),pe=a("code"),tr=n("num_train_timesteps"),ar=n(". They can be accessed via "),he=a("code"),sr=n("scheduler.config.num_train_timesteps"),or=n(`.
`),X=a("a"),nr=n("SchedulerMixin"),ir=n(" provides general loading and saving functionality via the "),Z=a("a"),lr=n("SchedulerMixin.save_pretrained()"),cr=n(` and
`),ee=a("a"),dr=n("from_pretrained()"),pr=n(" functions."),hr=d(),H=a("p"),ur=n(`For more details on the parameters, see the original paper\u2019s Appendix E.: \u201CElucidating the Design Space of
Diffusion-Based Generative Models.\u201D `),Y=a("a"),fr=n("https://arxiv.org/abs/2206.00364"),mr=n(`. The grid search values used to find the
optimal {s_noise, s_churn, s_min, s_max} for a specific model are described in Table 5 of the paper.`),gr=d(),g=a("div"),S(J.$$.fragment),_r=d(),ue=a("p"),vr=n(`Explicit Langevin-like \u201Cchurn\u201D step of adding noise to the sample according to a factor gamma_i \u2265 0 to reach a
higher noise level sigma_hat = sigma_i + gamma_i*sigma_i.`),br=d(),fe=a("p"),xr=n("TODO Args:"),$r=d(),P=a("div"),S(R.$$.fragment),Sr=d(),me=a("p"),Er=n(`Ensures interchangeability with schedulers that need to scale the denoising model input depending on the
current timestep.`),Vr=d(),F=a("div"),S(W.$$.fragment),wr=d(),ge=a("p"),Tr=n("Sets the continuous timesteps used for the diffusion chain. Supporting function to be run before inference."),Or=d(),M=a("div"),S(j.$$.fragment),Kr=d(),_e=a("p"),yr=n(`Predict the sample at the previous timestep by reversing the SDE. Core function to propagate the diffusion
process from the learned model outputs (most often the predicted noise).`),Dr=d(),C=a("div"),S(z.$$.fragment),kr=d(),ve=a("p"),Ar=n("Correct the predicted sample based on the output model_output of the network. TODO complete description"),this.h()},l(r){const m=pt('[data-svelte="svelte-1phssyn"]',document.head);v=s(m,"META",{name:!0,content:!0}),m.forEach(t),xe=p(r),b=s(r,"H1",{class:!0});var Te=o(b);K=s(Te,"A",{id:!0,class:!0,href:!0});var Mr=o(K);ae=s(Mr,"SPAN",{});var Cr=o(ae);E(L.$$.fragment,Cr),Cr.forEach(t),Mr.forEach(t),Me=p(Te),se=s(Te,"SPAN",{});var Lr=o(se);Ce=i(Lr,"Variance exploding, stochastic sampling from Karras et. al"),Lr.forEach(t),Te.forEach(t),$e=p(r),x=s(r,"H2",{class:!0});var Oe=o(x);y=s(Oe,"A",{id:!0,class:!0,href:!0});var Nr=o(y);oe=s(Nr,"SPAN",{});var Ir=o(oe);E(N.$$.fragment,Ir),Ir.forEach(t),Nr.forEach(t),Le=p(Oe),ne=s(Oe,"SPAN",{});var Gr=o(ne);Ne=i(Gr,"Overview"),Gr.forEach(t),Oe.forEach(t),Se=p(r),D=s(r,"P",{});var Ke=o(D);Ie=i(Ke,"Original paper can be found "),I=s(Ke,"A",{href:!0,rel:!0});var qr=o(I);Ge=i(qr,"here"),qr.forEach(t),qe=i(Ke,"."),Ke.forEach(t),Ee=p(r),$=s(r,"H2",{class:!0});var ye=o($);k=s(ye,"A",{id:!0,class:!0,href:!0});var Br=o(k);ie=s(Br,"SPAN",{});var Ur=o(ie);E(G.$$.fragment,Ur),Ur.forEach(t),Br.forEach(t),Be=p(ye),le=s(ye,"SPAN",{});var Hr=o(le);Ue=i(Hr,"KarrasVeScheduler"),Hr.forEach(t),ye.forEach(t),Ve=p(r),c=s(r,"DIV",{class:!0});var h=o(c);E(q.$$.fragment,h),He=p(h),ce=s(h,"P",{});var Yr=o(ce);Ye=i(Yr,`Stochastic sampling from Karras et al. [1] tailored to the Variance-Expanding (VE) models [2]. Use Algorithm 2 and
the VE column of Table 1 from [1] for reference.`),Yr.forEach(t),Je=p(h),A=s(h,"P",{});var be=o(A);Re=i(be,`[1] Karras, Tero, et al. \u201CElucidating the Design Space of Diffusion-Based Generative Models.\u201D
`),B=s(be,"A",{href:!0,rel:!0});var Jr=o(B);We=i(Jr,"https://arxiv.org/abs/2206.00364"),Jr.forEach(t),je=i(be,` [2] Song, Yang, et al. \u201CScore-based generative modeling through stochastic
differential equations.\u201D `),U=s(be,"A",{href:!0,rel:!0});var Rr=o(U);ze=i(Rr,"https://arxiv.org/abs/2011.13456"),Rr.forEach(t),be.forEach(t),Qe=p(h),u=s(h,"P",{});var f=o(u);Q=s(f,"A",{href:!0});var Wr=o(Q);Xe=i(Wr,"~ConfigMixin"),Wr.forEach(t),Ze=i(f," takes care of storing all config attributes that are passed in the scheduler\u2019s "),de=s(f,"CODE",{});var jr=o(de);er=i(jr,"__init__"),jr.forEach(t),rr=i(f,`
function, such as `),pe=s(f,"CODE",{});var zr=o(pe);tr=i(zr,"num_train_timesteps"),zr.forEach(t),ar=i(f,". They can be accessed via "),he=s(f,"CODE",{});var Qr=o(he);sr=i(Qr,"scheduler.config.num_train_timesteps"),Qr.forEach(t),or=i(f,`.
`),X=s(f,"A",{href:!0});var Xr=o(X);nr=i(Xr,"SchedulerMixin"),Xr.forEach(t),ir=i(f," provides general loading and saving functionality via the "),Z=s(f,"A",{href:!0});var Zr=o(Z);lr=i(Zr,"SchedulerMixin.save_pretrained()"),Zr.forEach(t),cr=i(f,` and
`),ee=s(f,"A",{href:!0});var et=o(ee);dr=i(et,"from_pretrained()"),et.forEach(t),pr=i(f," functions."),f.forEach(t),hr=p(h),H=s(h,"P",{});var De=o(H);ur=i(De,`For more details on the parameters, see the original paper\u2019s Appendix E.: \u201CElucidating the Design Space of
Diffusion-Based Generative Models.\u201D `),Y=s(De,"A",{href:!0,rel:!0});var rt=o(Y);fr=i(rt,"https://arxiv.org/abs/2206.00364"),rt.forEach(t),mr=i(De,`. The grid search values used to find the
optimal {s_noise, s_churn, s_min, s_max} for a specific model are described in Table 5 of the paper.`),De.forEach(t),gr=p(h),g=s(h,"DIV",{class:!0});var re=o(g);E(J.$$.fragment,re),_r=p(re),ue=s(re,"P",{});var tt=o(ue);vr=i(tt,`Explicit Langevin-like \u201Cchurn\u201D step of adding noise to the sample according to a factor gamma_i \u2265 0 to reach a
higher noise level sigma_hat = sigma_i + gamma_i*sigma_i.`),tt.forEach(t),br=p(re),fe=s(re,"P",{});var at=o(fe);xr=i(at,"TODO Args:"),at.forEach(t),re.forEach(t),$r=p(h),P=s(h,"DIV",{class:!0});var ke=o(P);E(R.$$.fragment,ke),Sr=p(ke),me=s(ke,"P",{});var st=o(me);Er=i(st,`Ensures interchangeability with schedulers that need to scale the denoising model input depending on the
current timestep.`),st.forEach(t),ke.forEach(t),Vr=p(h),F=s(h,"DIV",{class:!0});var Ae=o(F);E(W.$$.fragment,Ae),wr=p(Ae),ge=s(Ae,"P",{});var ot=o(ge);Tr=i(ot,"Sets the continuous timesteps used for the diffusion chain. Supporting function to be run before inference."),ot.forEach(t),Ae.forEach(t),Or=p(h),M=s(h,"DIV",{class:!0});var Pe=o(M);E(j.$$.fragment,Pe),Kr=p(Pe),_e=s(Pe,"P",{});var nt=o(_e);yr=i(nt,`Predict the sample at the previous timestep by reversing the SDE. Core function to propagate the diffusion
process from the learned model outputs (most often the predicted noise).`),nt.forEach(t),Pe.forEach(t),Dr=p(h),C=s(h,"DIV",{class:!0});var Fe=o(C);E(z.$$.fragment,Fe),kr=p(Fe),ve=s(Fe,"P",{});var it=o(ve);Ar=i(it,"Correct the predicted sample based on the output model_output of the network. TODO complete description"),it.forEach(t),Fe.forEach(t),h.forEach(t),this.h()},h(){l(v,"name","hf:doc:metadata"),l(v,"content",JSON.stringify(mt)),l(K,"id","variance-exploding-stochastic-sampling-from-karras-et-al"),l(K,"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"),l(K,"href","#variance-exploding-stochastic-sampling-from-karras-et-al"),l(b,"class","relative group"),l(y,"id","overview"),l(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"),l(y,"href","#overview"),l(x,"class","relative group"),l(I,"href","https://arxiv.org/abs/2206.00364"),l(I,"rel","nofollow"),l(k,"id","diffusers.KarrasVeScheduler"),l(k,"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"),l(k,"href","#diffusers.KarrasVeScheduler"),l($,"class","relative group"),l(B,"href","https://arxiv.org/abs/2206.00364"),l(B,"rel","nofollow"),l(U,"href","https://arxiv.org/abs/2011.13456"),l(U,"rel","nofollow"),l(Q,"href","/docs/diffusers/v0.16.0/en/api/configuration#diffusers.ConfigMixin"),l(X,"href","/docs/diffusers/v0.16.0/en/api/schedulers/overview#diffusers.SchedulerMixin"),l(Z,"href","/docs/diffusers/v0.16.0/en/api/schedulers/overview#diffusers.SchedulerMixin.save_pretrained"),l(ee,"href","/docs/diffusers/v0.16.0/en/api/schedulers/overview#diffusers.SchedulerMixin.from_pretrained"),l(Y,"href","https://arxiv.org/abs/2206.00364"),l(Y,"rel","nofollow"),l(g,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),l(P,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),l(F,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),l(M,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),l(C,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),l(c,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8")},m(r,m){e(document.head,v),_(r,xe,m),_(r,b,m),e(b,K),e(K,ae),V(L,ae,null),e(b,Me),e(b,se),e(se,Ce),_(r,$e,m),_(r,x,m),e(x,y),e(y,oe),V(N,oe,null),e(x,Le),e(x,ne),e(ne,Ne),_(r,Se,m),_(r,D,m),e(D,Ie),e(D,I),e(I,Ge),e(D,qe),_(r,Ee,m),_(r,$,m),e($,k),e(k,ie),V(G,ie,null),e($,Be),e($,le),e(le,Ue),_(r,Ve,m),_(r,c,m),V(q,c,null),e(c,He),e(c,ce),e(ce,Ye),e(c,Je),e(c,A),e(A,Re),e(A,B),e(B,We),e(A,je),e(A,U),e(U,ze),e(c,Qe),e(c,u),e(u,Q),e(Q,Xe),e(u,Ze),e(u,de),e(de,er),e(u,rr),e(u,pe),e(pe,tr),e(u,ar),e(u,he),e(he,sr),e(u,or),e(u,X),e(X,nr),e(u,ir),e(u,Z),e(Z,lr),e(u,cr),e(u,ee),e(ee,dr),e(u,pr),e(c,hr),e(c,H),e(H,ur),e(H,Y),e(Y,fr),e(H,mr),e(c,gr),e(c,g),V(J,g,null),e(g,_r),e(g,ue),e(ue,vr),e(g,br),e(g,fe),e(fe,xr),e(c,$r),e(c,P),V(R,P,null),e(P,Sr),e(P,me),e(me,Er),e(c,Vr),e(c,F),V(W,F,null),e(F,wr),e(F,ge),e(ge,Tr),e(c,Or),e(c,M),V(j,M,null),e(M,Kr),e(M,_e),e(_e,yr),e(c,Dr),e(c,C),V(z,C,null),e(C,kr),e(C,ve),e(ve,Ar),we=!0},p:ht,i(r){we||(w(L.$$.fragment,r),w(N.$$.fragment,r),w(G.$$.fragment,r),w(q.$$.fragment,r),w(J.$$.fragment,r),w(R.$$.fragment,r),w(W.$$.fragment,r),w(j.$$.fragment,r),w(z.$$.fragment,r),we=!0)},o(r){T(L.$$.fragment,r),T(N.$$.fragment,r),T(G.$$.fragment,r),T(q.$$.fragment,r),T(J.$$.fragment,r),T(R.$$.fragment,r),T(W.$$.fragment,r),T(j.$$.fragment,r),T(z.$$.fragment,r),we=!1},d(r){t(v),r&&t(xe),r&&t(b),O(L),r&&t($e),r&&t(x),O(N),r&&t(Se),r&&t(D),r&&t(Ee),r&&t($),O(G),r&&t(Ve),r&&t(c),O(q),O(J),O(R),O(W),O(j),O(z)}}}const mt={local:"variance-exploding-stochastic-sampling-from-karras-et-al",sections:[{local:"overview",title:"Overview"},{local:"diffusers.KarrasVeScheduler",title:"KarrasVeScheduler"}],title:"Variance exploding, stochastic sampling from Karras et. al"};function gt(Fr){return ut(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class xt extends lt{constructor(v){super();ct(this,v,gt,ft,dt,{})}}export{xt as default,mt as metadata};
