import{S as Ls,i as Ms,s as Os,e as a,k as c,w as C,t as o,M as Ns,c as n,d as t,m as u,a as r,x as T,h as i,b as l,G as e,g as x,y as k,L as Fs,q as j,o as P,B as A,v as zs}from"../../../chunks/vendor-hf-doc-builder.js";import{D as Qe}from"../../../chunks/Docstring-hf-doc-builder.js";import{I as as}from"../../../chunks/IconCopyLink-hf-doc-builder.js";function Ws(ns){let b,Ve,E,S,ne,I,We,re,Ge,ye,w,D,oe,L,Re,ie,Be,Ce,M,He,O,Ue,Te,$,Q,le,N,Je,ce,Ke,ke,d,F,Xe,ue,Ye,Ze,de,et,tt,p,X,st,at,pe,nt,rt,he,ot,it,fe,lt,ct,Y,ut,dt,Z,pt,ht,ee,ft,mt,_t,te,vt,z,gt,xt,g,W,bt,G,Et,me,wt,$t,qt,_e,St,Dt,h,R,Qt,B,Vt,ve,yt,Ct,Tt,ge,kt,jt,xe,Pt,At,be,It,Lt,Ee,H,Mt,we,Ot,Nt,Ft,q,zt,$e,Wt,Gt,qe,Rt,Bt,Ht,V,U,Ut,Se,Jt,Kt,y,J,Xt,K,Yt,De,Zt,es,je;return I=new as({}),L=new as({}),N=new as({}),F=new Qe({props:{name:"class diffusers.VQDiffusionScheduler",anchor:"diffusers.VQDiffusionScheduler",parameters:[{name:"num_vec_classes",val:": int"},{name:"num_train_timesteps",val:": int = 100"},{name:"alpha_cum_start",val:": float = 0.99999"},{name:"alpha_cum_end",val:": float = 9e-06"},{name:"gamma_cum_start",val:": float = 9e-06"},{name:"gamma_cum_end",val:": float = 0.99999"}],parametersDescription:[{anchor:"diffusers.VQDiffusionScheduler.num_vec_classes",description:`<strong>num_vec_classes</strong> (<code>int</code>) &#x2014;
The number of classes of the vector embeddings of the latent pixels. Includes the class for the masked
latent pixel.`,name:"num_vec_classes"},{anchor:"diffusers.VQDiffusionScheduler.num_train_timesteps",description:`<strong>num_train_timesteps</strong> (<code>int</code>) &#x2014;
Number of diffusion steps used to train the model.`,name:"num_train_timesteps"},{anchor:"diffusers.VQDiffusionScheduler.alpha_cum_start",description:`<strong>alpha_cum_start</strong> (<code>float</code>) &#x2014;
The starting cumulative alpha value.`,name:"alpha_cum_start"},{anchor:"diffusers.VQDiffusionScheduler.alpha_cum_end",description:`<strong>alpha_cum_end</strong> (<code>float</code>) &#x2014;
The ending cumulative alpha value.`,name:"alpha_cum_end"},{anchor:"diffusers.VQDiffusionScheduler.gamma_cum_start",description:`<strong>gamma_cum_start</strong> (<code>float</code>) &#x2014;
The starting cumulative gamma value.`,name:"gamma_cum_start"},{anchor:"diffusers.VQDiffusionScheduler.gamma_cum_end",description:`<strong>gamma_cum_end</strong> (<code>float</code>) &#x2014;
The ending cumulative gamma value.`,name:"gamma_cum_end"}],source:"https://github.com/huggingface/diffusers/blob/v0.12.0/src/diffusers/schedulers/scheduling_vq_diffusion.py#L106"}}),W=new Qe({props:{name:"log_Q_t_transitioning_to_known_class",anchor:"diffusers.VQDiffusionScheduler.log_Q_t_transitioning_to_known_class",parameters:[{name:"t",val:": torch.int32"},{name:"x_t",val:": LongTensor"},{name:"log_onehot_x_t",val:": FloatTensor"},{name:"cumulative",val:": bool"}],parametersDescription:[{anchor:"diffusers.VQDiffusionScheduler.log_Q_t_transitioning_to_known_class.t",description:`<strong>t</strong> (torch.Long) &#x2014;
The timestep that determines which transition matrix is used.`,name:"t"},{anchor:"diffusers.VQDiffusionScheduler.log_Q_t_transitioning_to_known_class.x_t",description:`<strong>x_t</strong> (<code>torch.LongTensor</code> of shape <code>(batch size, num latent pixels)</code>) &#x2014;
The classes of each latent pixel at time <code>t</code>.`,name:"x_t"},{anchor:"diffusers.VQDiffusionScheduler.log_Q_t_transitioning_to_known_class.log_onehot_x_t",description:`<strong>log_onehot_x_t</strong> (<code>torch.FloatTensor</code> of shape <code>(batch size, num classes, num latent pixels)</code>) &#x2014;
The log one-hot vectors of <code>x_t</code>`,name:"log_onehot_x_t"},{anchor:"diffusers.VQDiffusionScheduler.log_Q_t_transitioning_to_known_class.cumulative",description:`<strong>cumulative</strong> (<code>bool</code>) &#x2014;
If cumulative is <code>False</code>, we use the single step transition matrix <code>t-1</code>-&gt;<code>t</code>. If cumulative is <code>True</code>,
we use the cumulative transition matrix <code>0</code>-&gt;<code>t</code>.`,name:"cumulative"}],source:"https://github.com/huggingface/diffusers/blob/v0.12.0/src/diffusers/schedulers/scheduling_vq_diffusion.py#L379",returnDescription:`
<p>Each <em>column</em> of the returned matrix is a <em>row</em> of log probabilities of the complete probability
transition matrix.</p>
<p>When non cumulative, returns <code>self.num_classes - 1</code> rows because the initial latent pixel cannot be
masked.</p>
<p>Where:</p>
<ul>
<li><code>q_n</code> is the probability distribution for the forward process of the <code>n</code>th latent pixel.</li>
<li>C_0 is a class of a latent pixel embedding</li>
<li>C_k is the class of the masked latent pixel</li>
</ul>
<p>non-cumulative result (omitting logarithms):</p>

	<CodeBlock 
		code={\`q_0(x_t | x_{t-1\\} = C_0) ... q_n(x_t | x_{t-1\\} = C_0)
          .      .                     .
          .               .            .
          .                      .     .
q_0(x_t | x_{t-1\\} = C_k) ... q_n(x_t | x_{t-1\\} = C_k)\`}
		highlighted={\`q<span class="hljs-constructor">_0(<span class="hljs-params">x_t</span> | <span class="hljs-params">x_</span>{<span class="hljs-params">t</span>-1\\} = C_0)</span><span class="hljs-operator"> ... </span>q<span class="hljs-constructor">_n(<span class="hljs-params">x_t</span> | <span class="hljs-params">x_</span>{<span class="hljs-params">t</span>-1\\} = C_0)</span>
          .      .                     .
          .               .            .
          .                      .     .
q<span class="hljs-constructor">_0(<span class="hljs-params">x_t</span> | <span class="hljs-params">x_</span>{<span class="hljs-params">t</span>-1\\} = C_k)</span><span class="hljs-operator"> ... </span>q<span class="hljs-constructor">_n(<span class="hljs-params">x_t</span> | <span class="hljs-params">x_</span>{<span class="hljs-params">t</span>-1\\} = C_k)</span>\`}
	/>
<p>cumulative result (omitting logarithms):</p>

	<CodeBlock 
		code={\`q_0_cumulative(x_t | x_0 = C_0)    ...  q_n_cumulative(x_t | x_0 = C_0)
          .               .                          .
          .                        .                 .
          .                               .          .
q_0_cumulative(x_t | x_0 = C_{k-1\\}) ... q_n_cumulative(x_t | x_0 = C_{k-1\\})\`}
		highlighted={\`q<span class="hljs-constructor">_0_cumulative(<span class="hljs-params">x_t</span> | <span class="hljs-params">x_0</span> = C_0)</span><span class="hljs-operator">    ...  </span>q<span class="hljs-constructor">_n_cumulative(<span class="hljs-params">x_t</span> | <span class="hljs-params">x_0</span> = C_0)</span>
          .               .                          .
          .                        .                 .
          .                               .          .
q<span class="hljs-constructor">_0_cumulative(<span class="hljs-params">x_t</span> | <span class="hljs-params">x_0</span> = C_{<span class="hljs-params">k</span>-1\\})</span><span class="hljs-operator"> ... </span>q<span class="hljs-constructor">_n_cumulative(<span class="hljs-params">x_t</span> | <span class="hljs-params">x_0</span> = C_{<span class="hljs-params">k</span>-1\\})</span>\`}
	/>
`,returnType:`
<p><code>torch.FloatTensor</code> of shape <code>(batch size, num classes - 1, num latent pixels)</code></p>
`}}),R=new Qe({props:{name:"q_posterior",anchor:"diffusers.VQDiffusionScheduler.q_posterior",parameters:[{name:"log_p_x_0",val:""},{name:"x_t",val:""},{name:"t",val:""}],parametersDescription:[{anchor:"diffusers.VQDiffusionScheduler.q_posterior.t",description:`<strong>t</strong> (torch.Long) &#x2014;
The timestep that determines which transition matrix is used.`,name:"t"}],source:"https://github.com/huggingface/diffusers/blob/v0.12.0/src/diffusers/schedulers/scheduling_vq_diffusion.py#L260",returnDescription:`
<p>The log probabilities for the predicted classes of the image at timestep <code>t-1</code>. I.e. Equation (11).</p>
`,returnType:`
<p><code>torch.FloatTensor</code> of shape <code>(batch size, num classes, num latent pixels)</code></p>
`}}),U=new Qe({props:{name:"set_timesteps",anchor:"diffusers.VQDiffusionScheduler.set_timesteps",parameters:[{name:"num_inference_steps",val:": int"},{name:"device",val:": typing.Union[str, torch.device] = None"}],parametersDescription:[{anchor:"diffusers.VQDiffusionScheduler.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"},{anchor:"diffusers.VQDiffusionScheduler.set_timesteps.device",description:`<strong>device</strong> (<code>str</code> or <code>torch.device</code>) &#x2014;
device to place the timesteps and the diffusion process parameters (alpha, beta, gamma) on.`,name:"device"}],source:"https://github.com/huggingface/diffusers/blob/v0.12.0/src/diffusers/schedulers/scheduling_vq_diffusion.py#L190"}}),J=new Qe({props:{name:"step",anchor:"diffusers.VQDiffusionScheduler.step",parameters:[{name:"model_output",val:": FloatTensor"},{name:"timestep",val:": torch.int64"},{name:"sample",val:": LongTensor"},{name:"generator",val:": typing.Optional[torch._C.Generator] = None"},{name:"return_dict",val:": bool = True"}],parametersDescription:[{anchor:"diffusers.VQDiffusionScheduler.step.t",description:`<strong>t</strong> (<code>torch.long</code>) &#x2014;
The timestep that determines which transition matrices are used.</p>
<p>x_t &#x2014; (<code>torch.LongTensor</code> of shape <code>(batch size, num latent pixels)</code>):
The classes of each latent pixel at time <code>t</code></p>
<p>generator &#x2014; (<code>torch.Generator</code> or None):
RNG for the noise applied to p(x_{t-1} | x_t) before it is sampled from.`,name:"t"},{anchor:"diffusers.VQDiffusionScheduler.step.return_dict",description:`<strong>return_dict</strong> (<code>bool</code>) &#x2014;
option for returning tuple rather than VQDiffusionSchedulerOutput class`,name:"return_dict"}],source:"https://github.com/huggingface/diffusers/blob/v0.12.0/src/diffusers/schedulers/scheduling_vq_diffusion.py#L212",returnDescription:`
<p><code>~schedulers.scheduling_utils.VQDiffusionSchedulerOutput</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>~schedulers.scheduling_utils.VQDiffusionSchedulerOutput</code> or <code>tuple</code></p>
`}}),{c(){b=a("meta"),Ve=c(),E=a("h1"),S=a("a"),ne=a("span"),C(I.$$.fragment),We=c(),re=a("span"),Ge=o("VQDiffusionScheduler"),ye=c(),w=a("h2"),D=a("a"),oe=a("span"),C(L.$$.fragment),Re=c(),ie=a("span"),Be=o("Overview"),Ce=c(),M=a("p"),He=o("Original paper can be found "),O=a("a"),Ue=o("here"),Te=c(),$=a("h2"),Q=a("a"),le=a("span"),C(N.$$.fragment),Je=c(),ce=a("span"),Ke=o("VQDiffusionScheduler"),ke=c(),d=a("div"),C(F.$$.fragment),Xe=c(),ue=a("p"),Ye=o("The VQ-diffusion transformer outputs predicted probabilities of the initial unnoised image."),Ze=c(),de=a("p"),et=o(`The VQ-diffusion scheduler converts the transformer\u2019s output into a sample for the unnoised image at the previous
diffusion timestep.`),tt=c(),p=a("p"),X=a("a"),st=o("~ConfigMixin"),at=o(" takes care of storing all config attributes that are passed in the scheduler\u2019s "),pe=a("code"),nt=o("__init__"),rt=o(`
function, such as `),he=a("code"),ot=o("num_train_timesteps"),it=o(". They can be accessed via "),fe=a("code"),lt=o("scheduler.config.num_train_timesteps"),ct=o(`.
`),Y=a("a"),ut=o("SchedulerMixin"),dt=o(" provides general loading and saving functionality via the "),Z=a("a"),pt=o("SchedulerMixin.save_pretrained()"),ht=o(` and
`),ee=a("a"),ft=o("from_pretrained()"),mt=o(" functions."),_t=c(),te=a("p"),vt=o("For more details, see the original paper: "),z=a("a"),gt=o("https://arxiv.org/abs/2111.14822"),xt=c(),g=a("div"),C(W.$$.fragment),bt=c(),G=a("p"),Et=o(`Returns the log probabilities of the rows from the (cumulative or non-cumulative) transition matrix for each
latent pixel in `),me=a("code"),wt=o("x_t"),$t=o("."),qt=c(),_e=a("p"),St=o(`See equation (7) for the complete non-cumulative transition matrix. The complete cumulative transition matrix
is the same structure except the parameters (alpha, beta, gamma) are the cumulative analogs.`),Dt=c(),h=a("div"),C(R.$$.fragment),Qt=c(),B=a("p"),Vt=o("Calculates the log probabilities for the predicted classes of the image at timestep "),ve=a("code"),yt=o("t-1"),Ct=o(". I.e. Equation (11)."),Tt=c(),ge=a("p"),kt=o(`Instead of directly computing equation (11), we use Equation (5) to restate Equation (11) in terms of only
forward probabilities.`),jt=c(),xe=a("p"),Pt=o("Equation (11) stated in terms of forward probabilities via Equation (5):"),At=c(),be=a("p"),It=o("Where:"),Lt=c(),Ee=a("ul"),H=a("li"),Mt=o("the sum is over x"),we=a("em"),Ot=o("0 = {C_0 \u2026 C"),Nt=o("{k-1}} (classes for x_0)"),Ft=c(),q=a("p"),zt=o("p(x"),$e=a("em"),Wt=o("{t-1} | x_t) = sum( q(x_t | x"),Gt=o("{t-1}) "),qe=a("em"),Rt=o("q(x_{t-1} | x_0)"),Bt=o(" p(x_0) / q(x_t | x_0) )"),Ht=c(),V=a("div"),C(U.$$.fragment),Ut=c(),Se=a("p"),Jt=o("Sets the discrete timesteps used for the diffusion chain. Supporting function to be run before inference."),Kt=c(),y=a("div"),C(J.$$.fragment),Xt=c(),K=a("p"),Yt=o(`Predict the sample at the previous timestep via the reverse transition distribution i.e. Equation (11). See the
docstring for `),De=a("code"),Zt=o("self.q_posterior"),es=o(" for more in depth docs on how Equation (11) is computed."),this.h()},l(s){const v=Ns('[data-svelte="svelte-1phssyn"]',document.head);b=n(v,"META",{name:!0,content:!0}),v.forEach(t),Ve=u(s),E=n(s,"H1",{class:!0});var Pe=r(E);S=n(Pe,"A",{id:!0,class:!0,href:!0});var rs=r(S);ne=n(rs,"SPAN",{});var os=r(ne);T(I.$$.fragment,os),os.forEach(t),rs.forEach(t),We=u(Pe),re=n(Pe,"SPAN",{});var is=r(re);Ge=i(is,"VQDiffusionScheduler"),is.forEach(t),Pe.forEach(t),ye=u(s),w=n(s,"H2",{class:!0});var Ae=r(w);D=n(Ae,"A",{id:!0,class:!0,href:!0});var ls=r(D);oe=n(ls,"SPAN",{});var cs=r(oe);T(L.$$.fragment,cs),cs.forEach(t),ls.forEach(t),Re=u(Ae),ie=n(Ae,"SPAN",{});var us=r(ie);Be=i(us,"Overview"),us.forEach(t),Ae.forEach(t),Ce=u(s),M=n(s,"P",{});var ts=r(M);He=i(ts,"Original paper can be found "),O=n(ts,"A",{href:!0,rel:!0});var ds=r(O);Ue=i(ds,"here"),ds.forEach(t),ts.forEach(t),Te=u(s),$=n(s,"H2",{class:!0});var Ie=r($);Q=n(Ie,"A",{id:!0,class:!0,href:!0});var ps=r(Q);le=n(ps,"SPAN",{});var hs=r(le);T(N.$$.fragment,hs),hs.forEach(t),ps.forEach(t),Je=u(Ie),ce=n(Ie,"SPAN",{});var fs=r(ce);Ke=i(fs,"VQDiffusionScheduler"),fs.forEach(t),Ie.forEach(t),ke=u(s),d=n(s,"DIV",{class:!0});var f=r(d);T(F.$$.fragment,f),Xe=u(f),ue=n(f,"P",{});var ms=r(ue);Ye=i(ms,"The VQ-diffusion transformer outputs predicted probabilities of the initial unnoised image."),ms.forEach(t),Ze=u(f),de=n(f,"P",{});var _s=r(de);et=i(_s,`The VQ-diffusion scheduler converts the transformer\u2019s output into a sample for the unnoised image at the previous
diffusion timestep.`),_s.forEach(t),tt=u(f),p=n(f,"P",{});var m=r(p);X=n(m,"A",{href:!0});var vs=r(X);st=i(vs,"~ConfigMixin"),vs.forEach(t),at=i(m," takes care of storing all config attributes that are passed in the scheduler\u2019s "),pe=n(m,"CODE",{});var gs=r(pe);nt=i(gs,"__init__"),gs.forEach(t),rt=i(m,`
function, such as `),he=n(m,"CODE",{});var xs=r(he);ot=i(xs,"num_train_timesteps"),xs.forEach(t),it=i(m,". They can be accessed via "),fe=n(m,"CODE",{});var bs=r(fe);lt=i(bs,"scheduler.config.num_train_timesteps"),bs.forEach(t),ct=i(m,`.
`),Y=n(m,"A",{href:!0});var Es=r(Y);ut=i(Es,"SchedulerMixin"),Es.forEach(t),dt=i(m," provides general loading and saving functionality via the "),Z=n(m,"A",{href:!0});var ws=r(Z);pt=i(ws,"SchedulerMixin.save_pretrained()"),ws.forEach(t),ht=i(m,` and
`),ee=n(m,"A",{href:!0});var $s=r(ee);ft=i($s,"from_pretrained()"),$s.forEach(t),mt=i(m," functions."),m.forEach(t),_t=u(f),te=n(f,"P",{});var ss=r(te);vt=i(ss,"For more details, see the original paper: "),z=n(ss,"A",{href:!0,rel:!0});var qs=r(z);gt=i(qs,"https://arxiv.org/abs/2111.14822"),qs.forEach(t),ss.forEach(t),xt=u(f),g=n(f,"DIV",{class:!0});var se=r(g);T(W.$$.fragment,se),bt=u(se),G=n(se,"P",{});var Le=r(G);Et=i(Le,`Returns the log probabilities of the rows from the (cumulative or non-cumulative) transition matrix for each
latent pixel in `),me=n(Le,"CODE",{});var Ss=r(me);wt=i(Ss,"x_t"),Ss.forEach(t),$t=i(Le,"."),Le.forEach(t),qt=u(se),_e=n(se,"P",{});var Ds=r(_e);St=i(Ds,`See equation (7) for the complete non-cumulative transition matrix. The complete cumulative transition matrix
is the same structure except the parameters (alpha, beta, gamma) are the cumulative analogs.`),Ds.forEach(t),se.forEach(t),Dt=u(f),h=n(f,"DIV",{class:!0});var _=r(h);T(R.$$.fragment,_),Qt=u(_),B=n(_,"P",{});var Me=r(B);Vt=i(Me,"Calculates the log probabilities for the predicted classes of the image at timestep "),ve=n(Me,"CODE",{});var Qs=r(ve);yt=i(Qs,"t-1"),Qs.forEach(t),Ct=i(Me,". I.e. Equation (11)."),Me.forEach(t),Tt=u(_),ge=n(_,"P",{});var Vs=r(ge);kt=i(Vs,`Instead of directly computing equation (11), we use Equation (5) to restate Equation (11) in terms of only
forward probabilities.`),Vs.forEach(t),jt=u(_),xe=n(_,"P",{});var ys=r(xe);Pt=i(ys,"Equation (11) stated in terms of forward probabilities via Equation (5):"),ys.forEach(t),At=u(_),be=n(_,"P",{});var Cs=r(be);It=i(Cs,"Where:"),Cs.forEach(t),Lt=u(_),Ee=n(_,"UL",{});var Ts=r(Ee);H=n(Ts,"LI",{});var Oe=r(H);Mt=i(Oe,"the sum is over x"),we=n(Oe,"EM",{});var ks=r(we);Ot=i(ks,"0 = {C_0 \u2026 C"),ks.forEach(t),Nt=i(Oe,"{k-1}} (classes for x_0)"),Oe.forEach(t),Ts.forEach(t),Ft=u(_),q=n(_,"P",{});var ae=r(q);zt=i(ae,"p(x"),$e=n(ae,"EM",{});var js=r($e);Wt=i(js,"{t-1} | x_t) = sum( q(x_t | x"),js.forEach(t),Gt=i(ae,"{t-1}) "),qe=n(ae,"EM",{});var Ps=r(qe);Rt=i(Ps,"q(x_{t-1} | x_0)"),Ps.forEach(t),Bt=i(ae," p(x_0) / q(x_t | x_0) )"),ae.forEach(t),_.forEach(t),Ht=u(f),V=n(f,"DIV",{class:!0});var Ne=r(V);T(U.$$.fragment,Ne),Ut=u(Ne),Se=n(Ne,"P",{});var As=r(Se);Jt=i(As,"Sets the discrete timesteps used for the diffusion chain. Supporting function to be run before inference."),As.forEach(t),Ne.forEach(t),Kt=u(f),y=n(f,"DIV",{class:!0});var Fe=r(y);T(J.$$.fragment,Fe),Xt=u(Fe),K=n(Fe,"P",{});var ze=r(K);Yt=i(ze,`Predict the sample at the previous timestep via the reverse transition distribution i.e. Equation (11). See the
docstring for `),De=n(ze,"CODE",{});var Is=r(De);Zt=i(Is,"self.q_posterior"),Is.forEach(t),es=i(ze," for more in depth docs on how Equation (11) is computed."),ze.forEach(t),Fe.forEach(t),f.forEach(t),this.h()},h(){l(b,"name","hf:doc:metadata"),l(b,"content",JSON.stringify(Gs)),l(S,"id","vqdiffusionscheduler"),l(S,"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(S,"href","#vqdiffusionscheduler"),l(E,"class","relative group"),l(D,"id","overview"),l(D,"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(D,"href","#overview"),l(w,"class","relative group"),l(O,"href","https://arxiv.org/abs/2111.14822"),l(O,"rel","nofollow"),l(Q,"id","diffusers.VQDiffusionScheduler"),l(Q,"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(Q,"href","#diffusers.VQDiffusionScheduler"),l($,"class","relative group"),l(X,"href","/docs/diffusers/v0.12.0/en/api/configuration#diffusers.ConfigMixin"),l(Y,"href","/docs/diffusers/v0.12.0/en/api/schedulers/overview#diffusers.SchedulerMixin"),l(Z,"href","/docs/diffusers/v0.12.0/en/api/schedulers/overview#diffusers.SchedulerMixin.save_pretrained"),l(ee,"href","/docs/diffusers/v0.12.0/en/api/schedulers/overview#diffusers.SchedulerMixin.from_pretrained"),l(z,"href","https://arxiv.org/abs/2111.14822"),l(z,"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(h,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),l(V,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),l(y,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),l(d,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8")},m(s,v){e(document.head,b),x(s,Ve,v),x(s,E,v),e(E,S),e(S,ne),k(I,ne,null),e(E,We),e(E,re),e(re,Ge),x(s,ye,v),x(s,w,v),e(w,D),e(D,oe),k(L,oe,null),e(w,Re),e(w,ie),e(ie,Be),x(s,Ce,v),x(s,M,v),e(M,He),e(M,O),e(O,Ue),x(s,Te,v),x(s,$,v),e($,Q),e(Q,le),k(N,le,null),e($,Je),e($,ce),e(ce,Ke),x(s,ke,v),x(s,d,v),k(F,d,null),e(d,Xe),e(d,ue),e(ue,Ye),e(d,Ze),e(d,de),e(de,et),e(d,tt),e(d,p),e(p,X),e(X,st),e(p,at),e(p,pe),e(pe,nt),e(p,rt),e(p,he),e(he,ot),e(p,it),e(p,fe),e(fe,lt),e(p,ct),e(p,Y),e(Y,ut),e(p,dt),e(p,Z),e(Z,pt),e(p,ht),e(p,ee),e(ee,ft),e(p,mt),e(d,_t),e(d,te),e(te,vt),e(te,z),e(z,gt),e(d,xt),e(d,g),k(W,g,null),e(g,bt),e(g,G),e(G,Et),e(G,me),e(me,wt),e(G,$t),e(g,qt),e(g,_e),e(_e,St),e(d,Dt),e(d,h),k(R,h,null),e(h,Qt),e(h,B),e(B,Vt),e(B,ve),e(ve,yt),e(B,Ct),e(h,Tt),e(h,ge),e(ge,kt),e(h,jt),e(h,xe),e(xe,Pt),e(h,At),e(h,be),e(be,It),e(h,Lt),e(h,Ee),e(Ee,H),e(H,Mt),e(H,we),e(we,Ot),e(H,Nt),e(h,Ft),e(h,q),e(q,zt),e(q,$e),e($e,Wt),e(q,Gt),e(q,qe),e(qe,Rt),e(q,Bt),e(d,Ht),e(d,V),k(U,V,null),e(V,Ut),e(V,Se),e(Se,Jt),e(d,Kt),e(d,y),k(J,y,null),e(y,Xt),e(y,K),e(K,Yt),e(K,De),e(De,Zt),e(K,es),je=!0},p:Fs,i(s){je||(j(I.$$.fragment,s),j(L.$$.fragment,s),j(N.$$.fragment,s),j(F.$$.fragment,s),j(W.$$.fragment,s),j(R.$$.fragment,s),j(U.$$.fragment,s),j(J.$$.fragment,s),je=!0)},o(s){P(I.$$.fragment,s),P(L.$$.fragment,s),P(N.$$.fragment,s),P(F.$$.fragment,s),P(W.$$.fragment,s),P(R.$$.fragment,s),P(U.$$.fragment,s),P(J.$$.fragment,s),je=!1},d(s){t(b),s&&t(Ve),s&&t(E),A(I),s&&t(ye),s&&t(w),A(L),s&&t(Ce),s&&t(M),s&&t(Te),s&&t($),A(N),s&&t(ke),s&&t(d),A(F),A(W),A(R),A(U),A(J)}}}const Gs={local:"vqdiffusionscheduler",sections:[{local:"overview",title:"Overview"},{local:"diffusers.VQDiffusionScheduler",title:"VQDiffusionScheduler"}],title:"VQDiffusionScheduler"};function Rs(ns){return zs(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Js extends Ls{constructor(b){super();Ms(this,b,Rs,Ws,Os,{})}}export{Js as default,Gs as metadata};
