import{S as Ns,i as Ss,s as Vs,e as r,k as c,w as p,t as f,M as Fs,c as s,d as o,m as l,a as n,x as u,h as m,b as i,G as t,g as d,y as h,L as zs,q as _,o as v,B as A,v as Cs}from"../../chunks/vendor-hf-doc-builder.js";import{D as $}from"../../chunks/Docstring-hf-doc-builder.js";import{I as g}from"../../chunks/IconCopyLink-hf-doc-builder.js";function Ts(Lr){let P,xo,b,J,Te,ce,Et,Ke,Lt,ko,Ce,Rt,Eo,y,j,Xe,le,Dt,qe,Nt,Lo,w,fe,St,Ie,Vt,Ro,x,Q,He,me,Ft,Oe,zt,Do,k,pe,Ct,We,Tt,No,E,Y,Be,ue,Kt,Me,Xt,So,L,he,qt,Ue,It,Vo,R,Z,Ge,_e,Ht,Je,Ot,Fo,D,ve,Wt,je,Bt,zo,N,ee,Qe,Ae,Mt,Ye,Ut,Co,S,ge,Gt,Ze,Jt,To,V,oe,eo,$e,jt,oo,Qt,Ko,F,Pe,Yt,to,Zt,Xo,z,te,ro,be,er,so,or,qo,C,ye,tr,no,rr,Io,T,re,io,we,sr,ao,nr,Ho,K,xe,ir,co,ar,Oo,X,se,lo,ke,dr,fo,cr,Wo,q,Ee,lr,mo,fr,Bo,I,ne,po,Le,mr,uo,pr,Mo,H,Re,ur,ho,hr,Uo,O,ie,_o,De,_r,vo,vr,Go,W,Ne,Ar,Ao,gr,Jo,B,ae,go,Se,$r,$o,Pr,jo,M,Ve,br,Po,yr,Qo,U,de,bo,Fe,wr,yo,xr,Yo,G,ze,kr,wo,Er,Zo;return ce=new g({}),le=new g({}),fe=new $({props:{name:"class diffusers.models.attention_processor.AttnProcessor",anchor:"diffusers.models.attention_processor.AttnProcessor",parameters:[],source:"https://github.com/huggingface/diffusers/blob/v0.21.0/src/diffusers/models/attention_processor.py#L541"}}),me=new g({}),pe=new $({props:{name:"class diffusers.models.attention_processor.AttnProcessor2_0",anchor:"diffusers.models.attention_processor.AttnProcessor2_0",parameters:[],source:"https://github.com/huggingface/diffusers/blob/v0.21.0/src/diffusers/models/attention_processor.py#L977"}}),ue=new g({}),he=new $({props:{name:"class diffusers.models.attention_processor.LoRAAttnProcessor",anchor:"diffusers.models.attention_processor.LoRAAttnProcessor",parameters:[{name:"hidden_size",val:""},{name:"cross_attention_dim",val:" = None"},{name:"rank",val:" = 4"},{name:"network_alpha",val:" = None"},{name:"**kwargs",val:""}],parametersDescription:[{anchor:"diffusers.models.attention_processor.LoRAAttnProcessor.hidden_size",description:`<strong>hidden_size</strong> (<code>int</code>, <em>optional</em>) &#x2014;
The hidden size of the attention layer.`,name:"hidden_size"},{anchor:"diffusers.models.attention_processor.LoRAAttnProcessor.cross_attention_dim",description:`<strong>cross_attention_dim</strong> (<code>int</code>, <em>optional</em>) &#x2014;
The number of channels in the <code>encoder_hidden_states</code>.`,name:"cross_attention_dim"},{anchor:"diffusers.models.attention_processor.LoRAAttnProcessor.rank",description:`<strong>rank</strong> (<code>int</code>, defaults to 4) &#x2014;
The dimension of the LoRA update matrices.`,name:"rank"},{anchor:"diffusers.models.attention_processor.LoRAAttnProcessor.network_alpha",description:`<strong>network_alpha</strong> (<code>int</code>, <em>optional</em>) &#x2014;
Equivalent to <code>alpha</code> but it&#x2019;s usage is specific to Kohya (A1111) style LoRAs.`,name:"network_alpha"}],source:"https://github.com/huggingface/diffusers/blob/v0.21.0/src/diffusers/models/attention_processor.py#L1361"}}),_e=new g({}),ve=new $({props:{name:"class diffusers.models.attention_processor.LoRAAttnProcessor2_0",anchor:"diffusers.models.attention_processor.LoRAAttnProcessor2_0",parameters:[{name:"hidden_size",val:""},{name:"cross_attention_dim",val:" = None"},{name:"rank",val:" = 4"},{name:"network_alpha",val:" = None"},{name:"**kwargs",val:""}],parametersDescription:[{anchor:"diffusers.models.attention_processor.LoRAAttnProcessor2_0.hidden_size",description:`<strong>hidden_size</strong> (<code>int</code>) &#x2014;
The hidden size of the attention layer.`,name:"hidden_size"},{anchor:"diffusers.models.attention_processor.LoRAAttnProcessor2_0.cross_attention_dim",description:`<strong>cross_attention_dim</strong> (<code>int</code>, <em>optional</em>) &#x2014;
The number of channels in the <code>encoder_hidden_states</code>.`,name:"cross_attention_dim"},{anchor:"diffusers.models.attention_processor.LoRAAttnProcessor2_0.rank",description:`<strong>rank</strong> (<code>int</code>, defaults to 4) &#x2014;
The dimension of the LoRA update matrices.`,name:"rank"},{anchor:"diffusers.models.attention_processor.LoRAAttnProcessor2_0.network_alpha",description:`<strong>network_alpha</strong> (<code>int</code>, <em>optional</em>) &#x2014;
Equivalent to <code>alpha</code> but it&#x2019;s usage is specific to Kohya (A1111) style LoRAs.`,name:"network_alpha"}],source:"https://github.com/huggingface/diffusers/blob/v0.21.0/src/diffusers/models/attention_processor.py#L1424"}}),Ae=new g({}),ge=new $({props:{name:"class diffusers.models.attention_processor.CustomDiffusionAttnProcessor",anchor:"diffusers.models.attention_processor.CustomDiffusionAttnProcessor",parameters:[{name:"train_kv",val:" = True"},{name:"train_q_out",val:" = True"},{name:"hidden_size",val:" = None"},{name:"cross_attention_dim",val:" = None"},{name:"out_bias",val:" = True"},{name:"dropout",val:" = 0.0"}],parametersDescription:[{anchor:"diffusers.models.attention_processor.CustomDiffusionAttnProcessor.train_kv",description:`<strong>train_kv</strong> (<code>bool</code>, defaults to <code>True</code>) &#x2014;
Whether to newly train the key and value matrices corresponding to the text features.`,name:"train_kv"},{anchor:"diffusers.models.attention_processor.CustomDiffusionAttnProcessor.train_q_out",description:`<strong>train_q_out</strong> (<code>bool</code>, defaults to <code>True</code>) &#x2014;
Whether to newly train query matrices corresponding to the latent image features.`,name:"train_q_out"},{anchor:"diffusers.models.attention_processor.CustomDiffusionAttnProcessor.hidden_size",description:`<strong>hidden_size</strong> (<code>int</code>, <em>optional</em>, defaults to <code>None</code>) &#x2014;
The hidden size of the attention layer.`,name:"hidden_size"},{anchor:"diffusers.models.attention_processor.CustomDiffusionAttnProcessor.cross_attention_dim",description:`<strong>cross_attention_dim</strong> (<code>int</code>, <em>optional</em>, defaults to <code>None</code>) &#x2014;
The number of channels in the <code>encoder_hidden_states</code>.`,name:"cross_attention_dim"},{anchor:"diffusers.models.attention_processor.CustomDiffusionAttnProcessor.out_bias",description:`<strong>out_bias</strong> (<code>bool</code>, defaults to <code>True</code>) &#x2014;
Whether to include the bias parameter in <code>train_q_out</code>.`,name:"out_bias"},{anchor:"diffusers.models.attention_processor.CustomDiffusionAttnProcessor.dropout",description:`<strong>dropout</strong> (<code>float</code>, <em>optional</em>, defaults to 0.0) &#x2014;
The dropout probability to use.`,name:"dropout"}],source:"https://github.com/huggingface/diffusers/blob/v0.21.0/src/diffusers/models/attention_processor.py#L608"}}),$e=new g({}),Pe=new $({props:{name:"class diffusers.models.attention_processor.AttnAddedKVProcessor",anchor:"diffusers.models.attention_processor.AttnAddedKVProcessor",parameters:[],source:"https://github.com/huggingface/diffusers/blob/v0.21.0/src/diffusers/models/attention_processor.py#L706"}}),be=new g({}),ye=new $({props:{name:"class diffusers.models.attention_processor.AttnAddedKVProcessor2_0",anchor:"diffusers.models.attention_processor.AttnAddedKVProcessor2_0",parameters:[],source:"https://github.com/huggingface/diffusers/blob/v0.21.0/src/diffusers/models/attention_processor.py#L760"}}),we=new g({}),xe=new $({props:{name:"class diffusers.models.attention_processor.LoRAAttnAddedKVProcessor",anchor:"diffusers.models.attention_processor.LoRAAttnAddedKVProcessor",parameters:[{name:"hidden_size",val:""},{name:"cross_attention_dim",val:" = None"},{name:"rank",val:" = 4"},{name:"network_alpha",val:" = None"}],parametersDescription:[{anchor:"diffusers.models.attention_processor.LoRAAttnAddedKVProcessor.hidden_size",description:`<strong>hidden_size</strong> (<code>int</code>, <em>optional</em>) &#x2014;
The hidden size of the attention layer.`,name:"hidden_size"},{anchor:"diffusers.models.attention_processor.LoRAAttnAddedKVProcessor.cross_attention_dim",description:`<strong>cross_attention_dim</strong> (<code>int</code>, <em>optional</em>, defaults to <code>None</code>) &#x2014;
The number of channels in the <code>encoder_hidden_states</code>.`,name:"cross_attention_dim"},{anchor:"diffusers.models.attention_processor.LoRAAttnAddedKVProcessor.rank",description:`<strong>rank</strong> (<code>int</code>, defaults to 4) &#x2014;
The dimension of the LoRA update matrices.`,name:"rank"}],source:"https://github.com/huggingface/diffusers/blob/v0.21.0/src/diffusers/models/attention_processor.py#L1568"}}),ke=new g({}),Ee=new $({props:{name:"class diffusers.models.attention_processor.XFormersAttnProcessor",anchor:"diffusers.models.attention_processor.XFormersAttnProcessor",parameters:[{name:"attention_op",val:": typing.Optional[typing.Callable] = None"}],parametersDescription:[{anchor:"diffusers.models.attention_processor.XFormersAttnProcessor.attention_op",description:`<strong>attention_op</strong> (<code>Callable</code>, <em>optional</em>, defaults to <code>None</code>) &#x2014;
The base
<a href="https://facebookresearch.github.io/xformers/components/ops.html#xformers.ops.AttentionOpBase" rel="nofollow">operator</a> to
use as the attention operator. It is recommended to set to <code>None</code>, and allow xFormers to choose the best
operator.`,name:"attention_op"}],source:"https://github.com/huggingface/diffusers/blob/v0.21.0/src/diffusers/models/attention_processor.py#L888"}}),Le=new g({}),Re=new $({props:{name:"class diffusers.models.attention_processor.LoRAXFormersAttnProcessor",anchor:"diffusers.models.attention_processor.LoRAXFormersAttnProcessor",parameters:[{name:"hidden_size",val:""},{name:"cross_attention_dim",val:""},{name:"rank",val:" = 4"},{name:"attention_op",val:": typing.Optional[typing.Callable] = None"},{name:"network_alpha",val:" = None"},{name:"**kwargs",val:""}],parametersDescription:[{anchor:"diffusers.models.attention_processor.LoRAXFormersAttnProcessor.hidden_size",description:`<strong>hidden_size</strong> (<code>int</code>, <em>optional</em>) &#x2014;
The hidden size of the attention layer.`,name:"hidden_size"},{anchor:"diffusers.models.attention_processor.LoRAXFormersAttnProcessor.cross_attention_dim",description:`<strong>cross_attention_dim</strong> (<code>int</code>, <em>optional</em>) &#x2014;
The number of channels in the <code>encoder_hidden_states</code>.`,name:"cross_attention_dim"},{anchor:"diffusers.models.attention_processor.LoRAXFormersAttnProcessor.rank",description:`<strong>rank</strong> (<code>int</code>, defaults to 4) &#x2014;
The dimension of the LoRA update matrices.`,name:"rank"},{anchor:"diffusers.models.attention_processor.LoRAXFormersAttnProcessor.attention_op",description:`<strong>attention_op</strong> (<code>Callable</code>, <em>optional</em>, defaults to <code>None</code>) &#x2014;
The base
<a href="https://facebookresearch.github.io/xformers/components/ops.html#xformers.ops.AttentionOpBase" rel="nofollow">operator</a> to
use as the attention operator. It is recommended to set to <code>None</code>, and allow xFormers to choose the best
operator.`,name:"attention_op"},{anchor:"diffusers.models.attention_processor.LoRAXFormersAttnProcessor.network_alpha",description:`<strong>network_alpha</strong> (<code>int</code>, <em>optional</em>) &#x2014;
Equivalent to <code>alpha</code> but it&#x2019;s usage is specific to Kohya (A1111) style LoRAs.`,name:"network_alpha"}],source:"https://github.com/huggingface/diffusers/blob/v0.21.0/src/diffusers/models/attention_processor.py#L1490"}}),De=new g({}),Ne=new $({props:{name:"class diffusers.models.attention_processor.CustomDiffusionXFormersAttnProcessor",anchor:"diffusers.models.attention_processor.CustomDiffusionXFormersAttnProcessor",parameters:[{name:"train_kv",val:" = True"},{name:"train_q_out",val:" = False"},{name:"hidden_size",val:" = None"},{name:"cross_attention_dim",val:" = None"},{name:"out_bias",val:" = True"},{name:"dropout",val:" = 0.0"},{name:"attention_op",val:": typing.Optional[typing.Callable] = None"}],parametersDescription:[{anchor:"diffusers.models.attention_processor.CustomDiffusionXFormersAttnProcessor.train_kv",description:`<strong>train_kv</strong> (<code>bool</code>, defaults to <code>True</code>) &#x2014;
Whether to newly train the key and value matrices corresponding to the text features.`,name:"train_kv"},{anchor:"diffusers.models.attention_processor.CustomDiffusionXFormersAttnProcessor.train_q_out",description:`<strong>train_q_out</strong> (<code>bool</code>, defaults to <code>True</code>) &#x2014;
Whether to newly train query matrices corresponding to the latent image features.`,name:"train_q_out"},{anchor:"diffusers.models.attention_processor.CustomDiffusionXFormersAttnProcessor.hidden_size",description:`<strong>hidden_size</strong> (<code>int</code>, <em>optional</em>, defaults to <code>None</code>) &#x2014;
The hidden size of the attention layer.`,name:"hidden_size"},{anchor:"diffusers.models.attention_processor.CustomDiffusionXFormersAttnProcessor.cross_attention_dim",description:`<strong>cross_attention_dim</strong> (<code>int</code>, <em>optional</em>, defaults to <code>None</code>) &#x2014;
The number of channels in the <code>encoder_hidden_states</code>.`,name:"cross_attention_dim"},{anchor:"diffusers.models.attention_processor.CustomDiffusionXFormersAttnProcessor.out_bias",description:`<strong>out_bias</strong> (<code>bool</code>, defaults to <code>True</code>) &#x2014;
Whether to include the bias parameter in <code>train_q_out</code>.`,name:"out_bias"},{anchor:"diffusers.models.attention_processor.CustomDiffusionXFormersAttnProcessor.dropout",description:`<strong>dropout</strong> (<code>float</code>, <em>optional</em>, defaults to 0.0) &#x2014;
The dropout probability to use.`,name:"dropout"},{anchor:"diffusers.models.attention_processor.CustomDiffusionXFormersAttnProcessor.attention_op",description:`<strong>attention_op</strong> (<code>Callable</code>, <em>optional</em>, defaults to <code>None</code>) &#x2014;
The base
<a href="https://facebookresearch.github.io/xformers/components/ops.html#xformers.ops.AttentionOpBase" rel="nofollow">operator</a> to use
as the attention operator. It is recommended to set to <code>None</code>, and allow xFormers to choose the best operator.`,name:"attention_op"}],source:"https://github.com/huggingface/diffusers/blob/v0.21.0/src/diffusers/models/attention_processor.py#L1062"}}),Se=new g({}),Ve=new $({props:{name:"class diffusers.models.attention_processor.SlicedAttnProcessor",anchor:"diffusers.models.attention_processor.SlicedAttnProcessor",parameters:[{name:"slice_size",val:""}],parametersDescription:[{anchor:"diffusers.models.attention_processor.SlicedAttnProcessor.slice_size",description:`<strong>slice_size</strong> (<code>int</code>, <em>optional</em>) &#x2014;
The number of steps to compute attention. Uses as many slices as <code>attention_head_dim // slice_size</code>, and
<code>attention_head_dim</code> must be a multiple of the <code>slice_size</code>.`,name:"slice_size"}],source:"https://github.com/huggingface/diffusers/blob/v0.21.0/src/diffusers/models/attention_processor.py#L1171"}}),Fe=new g({}),ze=new $({props:{name:"class diffusers.models.attention_processor.SlicedAttnAddedKVProcessor",anchor:"diffusers.models.attention_processor.SlicedAttnAddedKVProcessor",parameters:[{name:"slice_size",val:""}],parametersDescription:[{anchor:"diffusers.models.attention_processor.SlicedAttnAddedKVProcessor.slice_size",description:`<strong>slice_size</strong> (<code>int</code>, <em>optional</em>) &#x2014;
The number of steps to compute attention. Uses as many slices as <code>attention_head_dim // slice_size</code>, and
<code>attention_head_dim</code> must be a multiple of the <code>slice_size</code>.`,name:"slice_size"}],source:"https://github.com/huggingface/diffusers/blob/v0.21.0/src/diffusers/models/attention_processor.py#L1252"}}),{c(){P=r("meta"),xo=c(),b=r("h1"),J=r("a"),Te=r("span"),p(ce.$$.fragment),Et=c(),Ke=r("span"),Lt=f("Attention Processor"),ko=c(),Ce=r("p"),Rt=f("An attention processor is a class for applying different types of attention mechanisms."),Eo=c(),y=r("h2"),j=r("a"),Xe=r("span"),p(le.$$.fragment),Dt=c(),qe=r("span"),Nt=f("AttnProcessor"),Lo=c(),w=r("div"),p(fe.$$.fragment),St=c(),Ie=r("p"),Vt=f("Default processor for performing attention-related computations."),Ro=c(),x=r("h2"),Q=r("a"),He=r("span"),p(me.$$.fragment),Ft=c(),Oe=r("span"),zt=f("AttnProcessor2_0"),Do=c(),k=r("div"),p(pe.$$.fragment),Ct=c(),We=r("p"),Tt=f("Processor for implementing scaled dot-product attention (enabled by default if you\u2019re using PyTorch 2.0)."),No=c(),E=r("h2"),Y=r("a"),Be=r("span"),p(ue.$$.fragment),Kt=c(),Me=r("span"),Xt=f("LoRAAttnProcessor"),So=c(),L=r("div"),p(he.$$.fragment),qt=c(),Ue=r("p"),It=f("Processor for implementing the LoRA attention mechanism."),Vo=c(),R=r("h2"),Z=r("a"),Ge=r("span"),p(_e.$$.fragment),Ht=c(),Je=r("span"),Ot=f("LoRAAttnProcessor2_0"),Fo=c(),D=r("div"),p(ve.$$.fragment),Wt=c(),je=r("p"),Bt=f(`Processor for implementing the LoRA attention mechanism using PyTorch 2.0\u2019s memory-efficient scaled dot-product
attention.`),zo=c(),N=r("h2"),ee=r("a"),Qe=r("span"),p(Ae.$$.fragment),Mt=c(),Ye=r("span"),Ut=f("CustomDiffusionAttnProcessor"),Co=c(),S=r("div"),p(ge.$$.fragment),Gt=c(),Ze=r("p"),Jt=f("Processor for implementing attention for the Custom Diffusion method."),To=c(),V=r("h2"),oe=r("a"),eo=r("span"),p($e.$$.fragment),jt=c(),oo=r("span"),Qt=f("AttnAddedKVProcessor"),Ko=c(),F=r("div"),p(Pe.$$.fragment),Yt=c(),to=r("p"),Zt=f(`Processor for performing attention-related computations with extra learnable key and value matrices for the text
encoder.`),Xo=c(),z=r("h2"),te=r("a"),ro=r("span"),p(be.$$.fragment),er=c(),so=r("span"),or=f("AttnAddedKVProcessor2_0"),qo=c(),C=r("div"),p(ye.$$.fragment),tr=c(),no=r("p"),rr=f(`Processor for performing scaled dot-product attention (enabled by default if you\u2019re using PyTorch 2.0), with extra
learnable key and value matrices for the text encoder.`),Io=c(),T=r("h2"),re=r("a"),io=r("span"),p(we.$$.fragment),sr=c(),ao=r("span"),nr=f("LoRAAttnAddedKVProcessor"),Ho=c(),K=r("div"),p(xe.$$.fragment),ir=c(),co=r("p"),ar=f(`Processor for implementing the LoRA attention mechanism with extra learnable key and value matrices for the text
encoder.`),Oo=c(),X=r("h2"),se=r("a"),lo=r("span"),p(ke.$$.fragment),dr=c(),fo=r("span"),cr=f("XFormersAttnProcessor"),Wo=c(),q=r("div"),p(Ee.$$.fragment),lr=c(),mo=r("p"),fr=f("Processor for implementing memory efficient attention using xFormers."),Bo=c(),I=r("h2"),ne=r("a"),po=r("span"),p(Le.$$.fragment),mr=c(),uo=r("span"),pr=f("LoRAXFormersAttnProcessor"),Mo=c(),H=r("div"),p(Re.$$.fragment),ur=c(),ho=r("p"),hr=f("Processor for implementing the LoRA attention mechanism with memory efficient attention using xFormers."),Uo=c(),O=r("h2"),ie=r("a"),_o=r("span"),p(De.$$.fragment),_r=c(),vo=r("span"),vr=f("CustomDiffusionXFormersAttnProcessor"),Go=c(),W=r("div"),p(Ne.$$.fragment),Ar=c(),Ao=r("p"),gr=f("Processor for implementing memory efficient attention using xFormers for the Custom Diffusion method."),Jo=c(),B=r("h2"),ae=r("a"),go=r("span"),p(Se.$$.fragment),$r=c(),$o=r("span"),Pr=f("SlicedAttnProcessor"),jo=c(),M=r("div"),p(Ve.$$.fragment),br=c(),Po=r("p"),yr=f("Processor for implementing sliced attention."),Qo=c(),U=r("h2"),de=r("a"),bo=r("span"),p(Fe.$$.fragment),wr=c(),yo=r("span"),xr=f("SlicedAttnAddedKVProcessor"),Yo=c(),G=r("div"),p(ze.$$.fragment),kr=c(),wo=r("p"),Er=f("Processor for implementing sliced attention with extra learnable key and value matrices for the text encoder."),this.h()},l(e){const a=Fs('[data-svelte="svelte-1phssyn"]',document.head);P=s(a,"META",{name:!0,content:!0}),a.forEach(o),xo=l(e),b=s(e,"H1",{class:!0});var et=n(b);J=s(et,"A",{id:!0,class:!0,href:!0});var Rr=n(J);Te=s(Rr,"SPAN",{});var Dr=n(Te);u(ce.$$.fragment,Dr),Dr.forEach(o),Rr.forEach(o),Et=l(et),Ke=s(et,"SPAN",{});var Nr=n(Ke);Lt=m(Nr,"Attention Processor"),Nr.forEach(o),et.forEach(o),ko=l(e),Ce=s(e,"P",{});var Sr=n(Ce);Rt=m(Sr,"An attention processor is a class for applying different types of attention mechanisms."),Sr.forEach(o),Eo=l(e),y=s(e,"H2",{class:!0});var ot=n(y);j=s(ot,"A",{id:!0,class:!0,href:!0});var Vr=n(j);Xe=s(Vr,"SPAN",{});var Fr=n(Xe);u(le.$$.fragment,Fr),Fr.forEach(o),Vr.forEach(o),Dt=l(ot),qe=s(ot,"SPAN",{});var zr=n(qe);Nt=m(zr,"AttnProcessor"),zr.forEach(o),ot.forEach(o),Lo=l(e),w=s(e,"DIV",{class:!0});var tt=n(w);u(fe.$$.fragment,tt),St=l(tt),Ie=s(tt,"P",{});var Cr=n(Ie);Vt=m(Cr,"Default processor for performing attention-related computations."),Cr.forEach(o),tt.forEach(o),Ro=l(e),x=s(e,"H2",{class:!0});var rt=n(x);Q=s(rt,"A",{id:!0,class:!0,href:!0});var Tr=n(Q);He=s(Tr,"SPAN",{});var Kr=n(He);u(me.$$.fragment,Kr),Kr.forEach(o),Tr.forEach(o),Ft=l(rt),Oe=s(rt,"SPAN",{});var Xr=n(Oe);zt=m(Xr,"AttnProcessor2_0"),Xr.forEach(o),rt.forEach(o),Do=l(e),k=s(e,"DIV",{class:!0});var st=n(k);u(pe.$$.fragment,st),Ct=l(st),We=s(st,"P",{});var qr=n(We);Tt=m(qr,"Processor for implementing scaled dot-product attention (enabled by default if you\u2019re using PyTorch 2.0)."),qr.forEach(o),st.forEach(o),No=l(e),E=s(e,"H2",{class:!0});var nt=n(E);Y=s(nt,"A",{id:!0,class:!0,href:!0});var Ir=n(Y);Be=s(Ir,"SPAN",{});var Hr=n(Be);u(ue.$$.fragment,Hr),Hr.forEach(o),Ir.forEach(o),Kt=l(nt),Me=s(nt,"SPAN",{});var Or=n(Me);Xt=m(Or,"LoRAAttnProcessor"),Or.forEach(o),nt.forEach(o),So=l(e),L=s(e,"DIV",{class:!0});var it=n(L);u(he.$$.fragment,it),qt=l(it),Ue=s(it,"P",{});var Wr=n(Ue);It=m(Wr,"Processor for implementing the LoRA attention mechanism."),Wr.forEach(o),it.forEach(o),Vo=l(e),R=s(e,"H2",{class:!0});var at=n(R);Z=s(at,"A",{id:!0,class:!0,href:!0});var Br=n(Z);Ge=s(Br,"SPAN",{});var Mr=n(Ge);u(_e.$$.fragment,Mr),Mr.forEach(o),Br.forEach(o),Ht=l(at),Je=s(at,"SPAN",{});var Ur=n(Je);Ot=m(Ur,"LoRAAttnProcessor2_0"),Ur.forEach(o),at.forEach(o),Fo=l(e),D=s(e,"DIV",{class:!0});var dt=n(D);u(ve.$$.fragment,dt),Wt=l(dt),je=s(dt,"P",{});var Gr=n(je);Bt=m(Gr,`Processor for implementing the LoRA attention mechanism using PyTorch 2.0\u2019s memory-efficient scaled dot-product
attention.`),Gr.forEach(o),dt.forEach(o),zo=l(e),N=s(e,"H2",{class:!0});var ct=n(N);ee=s(ct,"A",{id:!0,class:!0,href:!0});var Jr=n(ee);Qe=s(Jr,"SPAN",{});var jr=n(Qe);u(Ae.$$.fragment,jr),jr.forEach(o),Jr.forEach(o),Mt=l(ct),Ye=s(ct,"SPAN",{});var Qr=n(Ye);Ut=m(Qr,"CustomDiffusionAttnProcessor"),Qr.forEach(o),ct.forEach(o),Co=l(e),S=s(e,"DIV",{class:!0});var lt=n(S);u(ge.$$.fragment,lt),Gt=l(lt),Ze=s(lt,"P",{});var Yr=n(Ze);Jt=m(Yr,"Processor for implementing attention for the Custom Diffusion method."),Yr.forEach(o),lt.forEach(o),To=l(e),V=s(e,"H2",{class:!0});var ft=n(V);oe=s(ft,"A",{id:!0,class:!0,href:!0});var Zr=n(oe);eo=s(Zr,"SPAN",{});var es=n(eo);u($e.$$.fragment,es),es.forEach(o),Zr.forEach(o),jt=l(ft),oo=s(ft,"SPAN",{});var os=n(oo);Qt=m(os,"AttnAddedKVProcessor"),os.forEach(o),ft.forEach(o),Ko=l(e),F=s(e,"DIV",{class:!0});var mt=n(F);u(Pe.$$.fragment,mt),Yt=l(mt),to=s(mt,"P",{});var ts=n(to);Zt=m(ts,`Processor for performing attention-related computations with extra learnable key and value matrices for the text
encoder.`),ts.forEach(o),mt.forEach(o),Xo=l(e),z=s(e,"H2",{class:!0});var pt=n(z);te=s(pt,"A",{id:!0,class:!0,href:!0});var rs=n(te);ro=s(rs,"SPAN",{});var ss=n(ro);u(be.$$.fragment,ss),ss.forEach(o),rs.forEach(o),er=l(pt),so=s(pt,"SPAN",{});var ns=n(so);or=m(ns,"AttnAddedKVProcessor2_0"),ns.forEach(o),pt.forEach(o),qo=l(e),C=s(e,"DIV",{class:!0});var ut=n(C);u(ye.$$.fragment,ut),tr=l(ut),no=s(ut,"P",{});var is=n(no);rr=m(is,`Processor for performing scaled dot-product attention (enabled by default if you\u2019re using PyTorch 2.0), with extra
learnable key and value matrices for the text encoder.`),is.forEach(o),ut.forEach(o),Io=l(e),T=s(e,"H2",{class:!0});var ht=n(T);re=s(ht,"A",{id:!0,class:!0,href:!0});var as=n(re);io=s(as,"SPAN",{});var ds=n(io);u(we.$$.fragment,ds),ds.forEach(o),as.forEach(o),sr=l(ht),ao=s(ht,"SPAN",{});var cs=n(ao);nr=m(cs,"LoRAAttnAddedKVProcessor"),cs.forEach(o),ht.forEach(o),Ho=l(e),K=s(e,"DIV",{class:!0});var _t=n(K);u(xe.$$.fragment,_t),ir=l(_t),co=s(_t,"P",{});var ls=n(co);ar=m(ls,`Processor for implementing the LoRA attention mechanism with extra learnable key and value matrices for the text
encoder.`),ls.forEach(o),_t.forEach(o),Oo=l(e),X=s(e,"H2",{class:!0});var vt=n(X);se=s(vt,"A",{id:!0,class:!0,href:!0});var fs=n(se);lo=s(fs,"SPAN",{});var ms=n(lo);u(ke.$$.fragment,ms),ms.forEach(o),fs.forEach(o),dr=l(vt),fo=s(vt,"SPAN",{});var ps=n(fo);cr=m(ps,"XFormersAttnProcessor"),ps.forEach(o),vt.forEach(o),Wo=l(e),q=s(e,"DIV",{class:!0});var At=n(q);u(Ee.$$.fragment,At),lr=l(At),mo=s(At,"P",{});var us=n(mo);fr=m(us,"Processor for implementing memory efficient attention using xFormers."),us.forEach(o),At.forEach(o),Bo=l(e),I=s(e,"H2",{class:!0});var gt=n(I);ne=s(gt,"A",{id:!0,class:!0,href:!0});var hs=n(ne);po=s(hs,"SPAN",{});var _s=n(po);u(Le.$$.fragment,_s),_s.forEach(o),hs.forEach(o),mr=l(gt),uo=s(gt,"SPAN",{});var vs=n(uo);pr=m(vs,"LoRAXFormersAttnProcessor"),vs.forEach(o),gt.forEach(o),Mo=l(e),H=s(e,"DIV",{class:!0});var $t=n(H);u(Re.$$.fragment,$t),ur=l($t),ho=s($t,"P",{});var As=n(ho);hr=m(As,"Processor for implementing the LoRA attention mechanism with memory efficient attention using xFormers."),As.forEach(o),$t.forEach(o),Uo=l(e),O=s(e,"H2",{class:!0});var Pt=n(O);ie=s(Pt,"A",{id:!0,class:!0,href:!0});var gs=n(ie);_o=s(gs,"SPAN",{});var $s=n(_o);u(De.$$.fragment,$s),$s.forEach(o),gs.forEach(o),_r=l(Pt),vo=s(Pt,"SPAN",{});var Ps=n(vo);vr=m(Ps,"CustomDiffusionXFormersAttnProcessor"),Ps.forEach(o),Pt.forEach(o),Go=l(e),W=s(e,"DIV",{class:!0});var bt=n(W);u(Ne.$$.fragment,bt),Ar=l(bt),Ao=s(bt,"P",{});var bs=n(Ao);gr=m(bs,"Processor for implementing memory efficient attention using xFormers for the Custom Diffusion method."),bs.forEach(o),bt.forEach(o),Jo=l(e),B=s(e,"H2",{class:!0});var yt=n(B);ae=s(yt,"A",{id:!0,class:!0,href:!0});var ys=n(ae);go=s(ys,"SPAN",{});var ws=n(go);u(Se.$$.fragment,ws),ws.forEach(o),ys.forEach(o),$r=l(yt),$o=s(yt,"SPAN",{});var xs=n($o);Pr=m(xs,"SlicedAttnProcessor"),xs.forEach(o),yt.forEach(o),jo=l(e),M=s(e,"DIV",{class:!0});var wt=n(M);u(Ve.$$.fragment,wt),br=l(wt),Po=s(wt,"P",{});var ks=n(Po);yr=m(ks,"Processor for implementing sliced attention."),ks.forEach(o),wt.forEach(o),Qo=l(e),U=s(e,"H2",{class:!0});var xt=n(U);de=s(xt,"A",{id:!0,class:!0,href:!0});var Es=n(de);bo=s(Es,"SPAN",{});var Ls=n(bo);u(Fe.$$.fragment,Ls),Ls.forEach(o),Es.forEach(o),wr=l(xt),yo=s(xt,"SPAN",{});var Rs=n(yo);xr=m(Rs,"SlicedAttnAddedKVProcessor"),Rs.forEach(o),xt.forEach(o),Yo=l(e),G=s(e,"DIV",{class:!0});var kt=n(G);u(ze.$$.fragment,kt),kr=l(kt),wo=s(kt,"P",{});var Ds=n(wo);Er=m(Ds,"Processor for implementing sliced attention with extra learnable key and value matrices for the text encoder."),Ds.forEach(o),kt.forEach(o),this.h()},h(){i(P,"name","hf:doc:metadata"),i(P,"content",JSON.stringify(Ks)),i(J,"id","attention-processor"),i(J,"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"),i(J,"href","#attention-processor"),i(b,"class","relative group"),i(j,"id","diffusers.models.attention_processor.AttnProcessor"),i(j,"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"),i(j,"href","#diffusers.models.attention_processor.AttnProcessor"),i(y,"class","relative group"),i(w,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),i(Q,"id","diffusers.models.attention_processor.AttnProcessor2_0"),i(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"),i(Q,"href","#diffusers.models.attention_processor.AttnProcessor2_0"),i(x,"class","relative group"),i(k,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),i(Y,"id","diffusers.models.attention_processor.LoRAAttnProcessor"),i(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"),i(Y,"href","#diffusers.models.attention_processor.LoRAAttnProcessor"),i(E,"class","relative group"),i(L,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),i(Z,"id","diffusers.models.attention_processor.LoRAAttnProcessor2_0"),i(Z,"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"),i(Z,"href","#diffusers.models.attention_processor.LoRAAttnProcessor2_0"),i(R,"class","relative group"),i(D,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),i(ee,"id","diffusers.models.attention_processor.CustomDiffusionAttnProcessor"),i(ee,"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"),i(ee,"href","#diffusers.models.attention_processor.CustomDiffusionAttnProcessor"),i(N,"class","relative group"),i(S,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),i(oe,"id","diffusers.models.attention_processor.AttnAddedKVProcessor"),i(oe,"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"),i(oe,"href","#diffusers.models.attention_processor.AttnAddedKVProcessor"),i(V,"class","relative group"),i(F,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),i(te,"id","diffusers.models.attention_processor.AttnAddedKVProcessor2_0"),i(te,"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"),i(te,"href","#diffusers.models.attention_processor.AttnAddedKVProcessor2_0"),i(z,"class","relative group"),i(C,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),i(re,"id","diffusers.models.attention_processor.LoRAAttnAddedKVProcessor"),i(re,"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"),i(re,"href","#diffusers.models.attention_processor.LoRAAttnAddedKVProcessor"),i(T,"class","relative group"),i(K,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),i(se,"id","diffusers.models.attention_processor.XFormersAttnProcessor"),i(se,"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"),i(se,"href","#diffusers.models.attention_processor.XFormersAttnProcessor"),i(X,"class","relative group"),i(q,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),i(ne,"id","diffusers.models.attention_processor.LoRAXFormersAttnProcessor"),i(ne,"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"),i(ne,"href","#diffusers.models.attention_processor.LoRAXFormersAttnProcessor"),i(I,"class","relative group"),i(H,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),i(ie,"id","diffusers.models.attention_processor.CustomDiffusionXFormersAttnProcessor"),i(ie,"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"),i(ie,"href","#diffusers.models.attention_processor.CustomDiffusionXFormersAttnProcessor"),i(O,"class","relative group"),i(W,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),i(ae,"id","diffusers.models.attention_processor.SlicedAttnProcessor"),i(ae,"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"),i(ae,"href","#diffusers.models.attention_processor.SlicedAttnProcessor"),i(B,"class","relative group"),i(M,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),i(de,"id","diffusers.models.attention_processor.SlicedAttnAddedKVProcessor"),i(de,"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"),i(de,"href","#diffusers.models.attention_processor.SlicedAttnAddedKVProcessor"),i(U,"class","relative group"),i(G,"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,a){t(document.head,P),d(e,xo,a),d(e,b,a),t(b,J),t(J,Te),h(ce,Te,null),t(b,Et),t(b,Ke),t(Ke,Lt),d(e,ko,a),d(e,Ce,a),t(Ce,Rt),d(e,Eo,a),d(e,y,a),t(y,j),t(j,Xe),h(le,Xe,null),t(y,Dt),t(y,qe),t(qe,Nt),d(e,Lo,a),d(e,w,a),h(fe,w,null),t(w,St),t(w,Ie),t(Ie,Vt),d(e,Ro,a),d(e,x,a),t(x,Q),t(Q,He),h(me,He,null),t(x,Ft),t(x,Oe),t(Oe,zt),d(e,Do,a),d(e,k,a),h(pe,k,null),t(k,Ct),t(k,We),t(We,Tt),d(e,No,a),d(e,E,a),t(E,Y),t(Y,Be),h(ue,Be,null),t(E,Kt),t(E,Me),t(Me,Xt),d(e,So,a),d(e,L,a),h(he,L,null),t(L,qt),t(L,Ue),t(Ue,It),d(e,Vo,a),d(e,R,a),t(R,Z),t(Z,Ge),h(_e,Ge,null),t(R,Ht),t(R,Je),t(Je,Ot),d(e,Fo,a),d(e,D,a),h(ve,D,null),t(D,Wt),t(D,je),t(je,Bt),d(e,zo,a),d(e,N,a),t(N,ee),t(ee,Qe),h(Ae,Qe,null),t(N,Mt),t(N,Ye),t(Ye,Ut),d(e,Co,a),d(e,S,a),h(ge,S,null),t(S,Gt),t(S,Ze),t(Ze,Jt),d(e,To,a),d(e,V,a),t(V,oe),t(oe,eo),h($e,eo,null),t(V,jt),t(V,oo),t(oo,Qt),d(e,Ko,a),d(e,F,a),h(Pe,F,null),t(F,Yt),t(F,to),t(to,Zt),d(e,Xo,a),d(e,z,a),t(z,te),t(te,ro),h(be,ro,null),t(z,er),t(z,so),t(so,or),d(e,qo,a),d(e,C,a),h(ye,C,null),t(C,tr),t(C,no),t(no,rr),d(e,Io,a),d(e,T,a),t(T,re),t(re,io),h(we,io,null),t(T,sr),t(T,ao),t(ao,nr),d(e,Ho,a),d(e,K,a),h(xe,K,null),t(K,ir),t(K,co),t(co,ar),d(e,Oo,a),d(e,X,a),t(X,se),t(se,lo),h(ke,lo,null),t(X,dr),t(X,fo),t(fo,cr),d(e,Wo,a),d(e,q,a),h(Ee,q,null),t(q,lr),t(q,mo),t(mo,fr),d(e,Bo,a),d(e,I,a),t(I,ne),t(ne,po),h(Le,po,null),t(I,mr),t(I,uo),t(uo,pr),d(e,Mo,a),d(e,H,a),h(Re,H,null),t(H,ur),t(H,ho),t(ho,hr),d(e,Uo,a),d(e,O,a),t(O,ie),t(ie,_o),h(De,_o,null),t(O,_r),t(O,vo),t(vo,vr),d(e,Go,a),d(e,W,a),h(Ne,W,null),t(W,Ar),t(W,Ao),t(Ao,gr),d(e,Jo,a),d(e,B,a),t(B,ae),t(ae,go),h(Se,go,null),t(B,$r),t(B,$o),t($o,Pr),d(e,jo,a),d(e,M,a),h(Ve,M,null),t(M,br),t(M,Po),t(Po,yr),d(e,Qo,a),d(e,U,a),t(U,de),t(de,bo),h(Fe,bo,null),t(U,wr),t(U,yo),t(yo,xr),d(e,Yo,a),d(e,G,a),h(ze,G,null),t(G,kr),t(G,wo),t(wo,Er),Zo=!0},p:zs,i(e){Zo||(_(ce.$$.fragment,e),_(le.$$.fragment,e),_(fe.$$.fragment,e),_(me.$$.fragment,e),_(pe.$$.fragment,e),_(ue.$$.fragment,e),_(he.$$.fragment,e),_(_e.$$.fragment,e),_(ve.$$.fragment,e),_(Ae.$$.fragment,e),_(ge.$$.fragment,e),_($e.$$.fragment,e),_(Pe.$$.fragment,e),_(be.$$.fragment,e),_(ye.$$.fragment,e),_(we.$$.fragment,e),_(xe.$$.fragment,e),_(ke.$$.fragment,e),_(Ee.$$.fragment,e),_(Le.$$.fragment,e),_(Re.$$.fragment,e),_(De.$$.fragment,e),_(Ne.$$.fragment,e),_(Se.$$.fragment,e),_(Ve.$$.fragment,e),_(Fe.$$.fragment,e),_(ze.$$.fragment,e),Zo=!0)},o(e){v(ce.$$.fragment,e),v(le.$$.fragment,e),v(fe.$$.fragment,e),v(me.$$.fragment,e),v(pe.$$.fragment,e),v(ue.$$.fragment,e),v(he.$$.fragment,e),v(_e.$$.fragment,e),v(ve.$$.fragment,e),v(Ae.$$.fragment,e),v(ge.$$.fragment,e),v($e.$$.fragment,e),v(Pe.$$.fragment,e),v(be.$$.fragment,e),v(ye.$$.fragment,e),v(we.$$.fragment,e),v(xe.$$.fragment,e),v(ke.$$.fragment,e),v(Ee.$$.fragment,e),v(Le.$$.fragment,e),v(Re.$$.fragment,e),v(De.$$.fragment,e),v(Ne.$$.fragment,e),v(Se.$$.fragment,e),v(Ve.$$.fragment,e),v(Fe.$$.fragment,e),v(ze.$$.fragment,e),Zo=!1},d(e){o(P),e&&o(xo),e&&o(b),A(ce),e&&o(ko),e&&o(Ce),e&&o(Eo),e&&o(y),A(le),e&&o(Lo),e&&o(w),A(fe),e&&o(Ro),e&&o(x),A(me),e&&o(Do),e&&o(k),A(pe),e&&o(No),e&&o(E),A(ue),e&&o(So),e&&o(L),A(he),e&&o(Vo),e&&o(R),A(_e),e&&o(Fo),e&&o(D),A(ve),e&&o(zo),e&&o(N),A(Ae),e&&o(Co),e&&o(S),A(ge),e&&o(To),e&&o(V),A($e),e&&o(Ko),e&&o(F),A(Pe),e&&o(Xo),e&&o(z),A(be),e&&o(qo),e&&o(C),A(ye),e&&o(Io),e&&o(T),A(we),e&&o(Ho),e&&o(K),A(xe),e&&o(Oo),e&&o(X),A(ke),e&&o(Wo),e&&o(q),A(Ee),e&&o(Bo),e&&o(I),A(Le),e&&o(Mo),e&&o(H),A(Re),e&&o(Uo),e&&o(O),A(De),e&&o(Go),e&&o(W),A(Ne),e&&o(Jo),e&&o(B),A(Se),e&&o(jo),e&&o(M),A(Ve),e&&o(Qo),e&&o(U),A(Fe),e&&o(Yo),e&&o(G),A(ze)}}}const Ks={local:"attention-processor",sections:[{local:"diffusers.models.attention_processor.AttnProcessor",title:"AttnProcessor"},{local:"diffusers.models.attention_processor.AttnProcessor2_0",title:"AttnProcessor2_0"},{local:"diffusers.models.attention_processor.LoRAAttnProcessor",title:"LoRAAttnProcessor"},{local:"diffusers.models.attention_processor.LoRAAttnProcessor2_0",title:"LoRAAttnProcessor2_0"},{local:"diffusers.models.attention_processor.CustomDiffusionAttnProcessor",title:"CustomDiffusionAttnProcessor"},{local:"diffusers.models.attention_processor.AttnAddedKVProcessor",title:"AttnAddedKVProcessor"},{local:"diffusers.models.attention_processor.AttnAddedKVProcessor2_0",title:"AttnAddedKVProcessor2_0"},{local:"diffusers.models.attention_processor.LoRAAttnAddedKVProcessor",title:"LoRAAttnAddedKVProcessor"},{local:"diffusers.models.attention_processor.XFormersAttnProcessor",title:"XFormersAttnProcessor"},{local:"diffusers.models.attention_processor.LoRAXFormersAttnProcessor",title:"LoRAXFormersAttnProcessor"},{local:"diffusers.models.attention_processor.CustomDiffusionXFormersAttnProcessor",title:"CustomDiffusionXFormersAttnProcessor"},{local:"diffusers.models.attention_processor.SlicedAttnProcessor",title:"SlicedAttnProcessor"},{local:"diffusers.models.attention_processor.SlicedAttnAddedKVProcessor",title:"SlicedAttnAddedKVProcessor"}],title:"Attention Processor"};function Xs(Lr){return Cs(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Os extends Ns{constructor(P){super();Ss(this,P,Xs,Ts,Vs,{})}}export{Os as default,Ks as metadata};
