import{s as Jt,n as Qt,o as Yt}from"../chunks/scheduler.182ea377.js";import{S as Zt,i as eo,g as i,s as n,r as d,A as to,h as a,f as o,c as r,j as _,u as c,x as h,k as g,y as l,a as s,v as m,d as f,t as p,w as u}from"../chunks/index.abf12888.js";import{D as $}from"../chunks/Docstring.93f6f462.js";import{H as A}from"../chunks/Heading.16916d63.js";function oo(Ft){let b,Le,Ce,ke,K,De,X,Kt="An attention processor is a class for applying different types of attention mechanisms.",Te,N,Re,v,q,bt,me,Xt="Default processor for performing attention-related computations.",ze,E,Ve,P,O,vt,fe,Nt="Processor for implementing scaled dot-product attention (enabled by default if you’re using PyTorch 2.0).",Fe,I,Ke,x,S,Pt,pe,qt="Processor for implementing the LoRA attention mechanism.",Xe,W,Ne,y,j,xt,ue,Et=`Processor for implementing the LoRA attention mechanism using PyTorch 2.0’s memory-efficient scaled dot-product
attention.`,qe,B,Ee,C,U,yt,_e,Ot="Processor for implementing attention for the Custom Diffusion method.",Oe,H,Ie,w,M,Ct,ge,It=`Processor for implementing attention for the Custom Diffusion method using PyTorch 2.0’s memory-efficient scaled
dot-product attention.`,Se,G,We,L,J,wt,he,St=`Processor for performing attention-related computations with extra learnable key and value matrices for the text
encoder.`,je,Q,Be,k,Y,Lt,Ae,Wt=`Processor for performing scaled dot-product attention (enabled by default if you’re using PyTorch 2.0), with extra
learnable key and value matrices for the text encoder.`,Ue,Z,He,D,ee,kt,$e,jt=`Processor for implementing the LoRA attention mechanism with extra learnable key and value matrices for the text
encoder.`,Me,te,Ge,T,oe,Dt,be,Bt="Processor for implementing memory efficient attention using xFormers.",Je,se,Qe,R,ne,Tt,ve,Ut="Processor for implementing the LoRA attention mechanism with memory efficient attention using xFormers.",Ye,re,Ze,z,ie,Rt,Pe,Ht="Processor for implementing memory efficient attention using xFormers for the Custom Diffusion method.",et,ae,tt,V,de,zt,xe,Mt="Processor for implementing sliced attention.",ot,ce,st,F,le,Vt,ye,Gt="Processor for implementing sliced attention with extra learnable key and value matrices for the text encoder.",nt,we,rt;return K=new A({props:{title:"Attention Processor",local:"attention-processor",headingTag:"h1"}}),N=new A({props:{title:"AttnProcessor",local:"diffusers.models.attention_processor.AttnProcessor",headingTag:"h2"}}),q=new $({props:{name:"class diffusers.models.attention_processor.AttnProcessor",anchor:"diffusers.models.attention_processor.AttnProcessor",parameters:[],source:"https://github.com/huggingface/diffusers/blob/v0.23.0/src/diffusers/models/attention_processor.py#L694"}}),E=new A({props:{title:"AttnProcessor2_0",local:"diffusers.models.attention_processor.AttnProcessor2_0",headingTag:"h2"}}),O=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.23.0/src/diffusers/models/attention_processor.py#L1166"}}),I=new A({props:{title:"LoRAAttnProcessor",local:"diffusers.models.attention_processor.LoRAAttnProcessor",headingTag:"h2"}}),S=new $({props:{name:"class diffusers.models.attention_processor.LoRAAttnProcessor",anchor:"diffusers.models.attention_processor.LoRAAttnProcessor",parameters:[{name:"hidden_size",val:": int"},{name:"cross_attention_dim",val:": typing.Optional[int] = None"},{name:"rank",val:": int = 4"},{name:"network_alpha",val:": typing.Optional[int] = 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"},{anchor:"diffusers.models.attention_processor.LoRAAttnProcessor.kwargs",description:`<strong>kwargs</strong> (<code>dict</code>) &#x2014;
Additional keyword arguments to pass to the <code>LoRALinearLayer</code> layers.`,name:"kwargs"}],source:"https://github.com/huggingface/diffusers/blob/v0.23.0/src/diffusers/models/attention_processor.py#L1693"}}),W=new A({props:{title:"LoRAAttnProcessor2_0",local:"diffusers.models.attention_processor.LoRAAttnProcessor2_0",headingTag:"h2"}}),j=new $({props:{name:"class diffusers.models.attention_processor.LoRAAttnProcessor2_0",anchor:"diffusers.models.attention_processor.LoRAAttnProcessor2_0",parameters:[{name:"hidden_size",val:": int"},{name:"cross_attention_dim",val:": typing.Optional[int] = None"},{name:"rank",val:": int = 4"},{name:"network_alpha",val:": typing.Optional[int] = 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"},{anchor:"diffusers.models.attention_processor.LoRAAttnProcessor2_0.kwargs",description:`<strong>kwargs</strong> (<code>dict</code>) &#x2014;
Additional keyword arguments to pass to the <code>LoRALinearLayer</code> layers.`,name:"kwargs"}],source:"https://github.com/huggingface/diffusers/blob/v0.23.0/src/diffusers/models/attention_processor.py#L1765"}}),B=new A({props:{title:"CustomDiffusionAttnProcessor",local:"diffusers.models.attention_processor.CustomDiffusionAttnProcessor",headingTag:"h2"}}),U=new $({props:{name:"class diffusers.models.attention_processor.CustomDiffusionAttnProcessor",anchor:"diffusers.models.attention_processor.CustomDiffusionAttnProcessor",parameters:[{name:"train_kv",val:": bool = True"},{name:"train_q_out",val:": bool = True"},{name:"hidden_size",val:": typing.Optional[int] = None"},{name:"cross_attention_dim",val:": typing.Optional[int] = None"},{name:"out_bias",val:": bool = True"},{name:"dropout",val:": float = 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.23.0/src/diffusers/models/attention_processor.py#L763"}}),H=new A({props:{title:"CustomDiffusionAttnProcessor2_0",local:"diffusers.models.attention_processor.CustomDiffusionAttnProcessor2_0",headingTag:"h2"}}),M=new $({props:{name:"class diffusers.models.attention_processor.CustomDiffusionAttnProcessor2_0",anchor:"diffusers.models.attention_processor.CustomDiffusionAttnProcessor2_0",parameters:[{name:"train_kv",val:": bool = True"},{name:"train_q_out",val:": bool = True"},{name:"hidden_size",val:": typing.Optional[int] = None"},{name:"cross_attention_dim",val:": typing.Optional[int] = None"},{name:"out_bias",val:": bool = True"},{name:"dropout",val:": float = 0.0"}],parametersDescription:[{anchor:"diffusers.models.attention_processor.CustomDiffusionAttnProcessor2_0.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.CustomDiffusionAttnProcessor2_0.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.CustomDiffusionAttnProcessor2_0.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.CustomDiffusionAttnProcessor2_0.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.CustomDiffusionAttnProcessor2_0.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.CustomDiffusionAttnProcessor2_0.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.23.0/src/diffusers/models/attention_processor.py#L1370"}}),G=new A({props:{title:"AttnAddedKVProcessor",local:"diffusers.models.attention_processor.AttnAddedKVProcessor",headingTag:"h2"}}),J=new $({props:{name:"class diffusers.models.attention_processor.AttnAddedKVProcessor",anchor:"diffusers.models.attention_processor.AttnAddedKVProcessor",parameters:[],source:"https://github.com/huggingface/diffusers/blob/v0.23.0/src/diffusers/models/attention_processor.py#L867"}}),Q=new A({props:{title:"AttnAddedKVProcessor2_0",local:"diffusers.models.attention_processor.AttnAddedKVProcessor2_0",headingTag:"h2"}}),Y=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.23.0/src/diffusers/models/attention_processor.py#L931"}}),Z=new A({props:{title:"LoRAAttnAddedKVProcessor",local:"diffusers.models.attention_processor.LoRAAttnAddedKVProcessor",headingTag:"h2"}}),ee=new $({props:{name:"class diffusers.models.attention_processor.LoRAAttnAddedKVProcessor",anchor:"diffusers.models.attention_processor.LoRAAttnAddedKVProcessor",parameters:[{name:"hidden_size",val:": int"},{name:"cross_attention_dim",val:": typing.Optional[int] = None"},{name:"rank",val:": int = 4"},{name:"network_alpha",val:": typing.Optional[int] = 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"},{anchor:"diffusers.models.attention_processor.LoRAAttnAddedKVProcessor.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"},{anchor:"diffusers.models.attention_processor.LoRAAttnAddedKVProcessor.kwargs",description:`<strong>kwargs</strong> (<code>dict</code>) &#x2014;
Additional keyword arguments to pass to the <code>LoRALinearLayer</code> layers.`,name:"kwargs"}],source:"https://github.com/huggingface/diffusers/blob/v0.23.0/src/diffusers/models/attention_processor.py#L1919"}}),te=new A({props:{title:"XFormersAttnProcessor",local:"diffusers.models.attention_processor.XFormersAttnProcessor",headingTag:"h2"}}),oe=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.23.0/src/diffusers/models/attention_processor.py#L1075"}}),se=new A({props:{title:"LoRAXFormersAttnProcessor",local:"diffusers.models.attention_processor.LoRAXFormersAttnProcessor",headingTag:"h2"}}),ne=new $({props:{name:"class diffusers.models.attention_processor.LoRAXFormersAttnProcessor",anchor:"diffusers.models.attention_processor.LoRAXFormersAttnProcessor",parameters:[{name:"hidden_size",val:": int"},{name:"cross_attention_dim",val:": int"},{name:"rank",val:": int = 4"},{name:"attention_op",val:": typing.Optional[typing.Callable] = None"},{name:"network_alpha",val:": typing.Optional[int] = 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"},{anchor:"diffusers.models.attention_processor.LoRAXFormersAttnProcessor.kwargs",description:`<strong>kwargs</strong> (<code>dict</code>) &#x2014;
Additional keyword arguments to pass to the <code>LoRALinearLayer</code> layers.`,name:"kwargs"}],source:"https://github.com/huggingface/diffusers/blob/v0.23.0/src/diffusers/models/attention_processor.py#L1840"}}),re=new A({props:{title:"CustomDiffusionXFormersAttnProcessor",local:"diffusers.models.attention_processor.CustomDiffusionXFormersAttnProcessor",headingTag:"h2"}}),ie=new $({props:{name:"class diffusers.models.attention_processor.CustomDiffusionXFormersAttnProcessor",anchor:"diffusers.models.attention_processor.CustomDiffusionXFormersAttnProcessor",parameters:[{name:"train_kv",val:": bool = True"},{name:"train_q_out",val:": bool = False"},{name:"hidden_size",val:": typing.Optional[int] = None"},{name:"cross_attention_dim",val:": typing.Optional[int] = None"},{name:"out_bias",val:": bool = True"},{name:"dropout",val:": float = 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.23.0/src/diffusers/models/attention_processor.py#L1254"}}),ae=new A({props:{title:"SlicedAttnProcessor",local:"diffusers.models.attention_processor.SlicedAttnProcessor",headingTag:"h2"}}),de=new $({props:{name:"class diffusers.models.attention_processor.SlicedAttnProcessor",anchor:"diffusers.models.attention_processor.SlicedAttnProcessor",parameters:[{name:"slice_size",val:": int"}],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.23.0/src/diffusers/models/attention_processor.py#L1484"}}),ce=new A({props:{title:"SlicedAttnAddedKVProcessor",local:"diffusers.models.attention_processor.SlicedAttnAddedKVProcessor",headingTag:"h2"}}),le=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.23.0/src/diffusers/models/attention_processor.py#L1571"}}),{c(){b=i("meta"),Le=n(),Ce=i("p"),ke=n(),d(K.$$.fragment),De=n(),X=i("p"),X.textContent=Kt,Te=n(),d(N.$$.fragment),Re=n(),v=i("div"),d(q.$$.fragment),bt=n(),me=i("p"),me.textContent=Xt,ze=n(),d(E.$$.fragment),Ve=n(),P=i("div"),d(O.$$.fragment),vt=n(),fe=i("p"),fe.textContent=Nt,Fe=n(),d(I.$$.fragment),Ke=n(),x=i("div"),d(S.$$.fragment),Pt=n(),pe=i("p"),pe.textContent=qt,Xe=n(),d(W.$$.fragment),Ne=n(),y=i("div"),d(j.$$.fragment),xt=n(),ue=i("p"),ue.textContent=Et,qe=n(),d(B.$$.fragment),Ee=n(),C=i("div"),d(U.$$.fragment),yt=n(),_e=i("p"),_e.textContent=Ot,Oe=n(),d(H.$$.fragment),Ie=n(),w=i("div"),d(M.$$.fragment),Ct=n(),ge=i("p"),ge.textContent=It,Se=n(),d(G.$$.fragment),We=n(),L=i("div"),d(J.$$.fragment),wt=n(),he=i("p"),he.textContent=St,je=n(),d(Q.$$.fragment),Be=n(),k=i("div"),d(Y.$$.fragment),Lt=n(),Ae=i("p"),Ae.textContent=Wt,Ue=n(),d(Z.$$.fragment),He=n(),D=i("div"),d(ee.$$.fragment),kt=n(),$e=i("p"),$e.textContent=jt,Me=n(),d(te.$$.fragment),Ge=n(),T=i("div"),d(oe.$$.fragment),Dt=n(),be=i("p"),be.textContent=Bt,Je=n(),d(se.$$.fragment),Qe=n(),R=i("div"),d(ne.$$.fragment),Tt=n(),ve=i("p"),ve.textContent=Ut,Ye=n(),d(re.$$.fragment),Ze=n(),z=i("div"),d(ie.$$.fragment),Rt=n(),Pe=i("p"),Pe.textContent=Ht,et=n(),d(ae.$$.fragment),tt=n(),V=i("div"),d(de.$$.fragment),zt=n(),xe=i("p"),xe.textContent=Mt,ot=n(),d(ce.$$.fragment),st=n(),F=i("div"),d(le.$$.fragment),Vt=n(),ye=i("p"),ye.textContent=Gt,nt=n(),we=i("p"),this.h()},l(e){const t=to("svelte-u9bgzb",document.head);b=a(t,"META",{name:!0,content:!0}),t.forEach(o),Le=r(e),Ce=a(e,"P",{}),_(Ce).forEach(o),ke=r(e),c(K.$$.fragment,e),De=r(e),X=a(e,"P",{"data-svelte-h":!0}),h(X)!=="svelte-itqz7g"&&(X.textContent=Kt),Te=r(e),c(N.$$.fragment,e),Re=r(e),v=a(e,"DIV",{class:!0});var it=_(v);c(q.$$.fragment,it),bt=r(it),me=a(it,"P",{"data-svelte-h":!0}),h(me)!=="svelte-12lirf9"&&(me.textContent=Xt),it.forEach(o),ze=r(e),c(E.$$.fragment,e),Ve=r(e),P=a(e,"DIV",{class:!0});var at=_(P);c(O.$$.fragment,at),vt=r(at),fe=a(at,"P",{"data-svelte-h":!0}),h(fe)!=="svelte-zp073y"&&(fe.textContent=Nt),at.forEach(o),Fe=r(e),c(I.$$.fragment,e),Ke=r(e),x=a(e,"DIV",{class:!0});var dt=_(x);c(S.$$.fragment,dt),Pt=r(dt),pe=a(dt,"P",{"data-svelte-h":!0}),h(pe)!=="svelte-z73n2i"&&(pe.textContent=qt),dt.forEach(o),Xe=r(e),c(W.$$.fragment,e),Ne=r(e),y=a(e,"DIV",{class:!0});var ct=_(y);c(j.$$.fragment,ct),xt=r(ct),ue=a(ct,"P",{"data-svelte-h":!0}),h(ue)!=="svelte-yo3yo9"&&(ue.textContent=Et),ct.forEach(o),qe=r(e),c(B.$$.fragment,e),Ee=r(e),C=a(e,"DIV",{class:!0});var lt=_(C);c(U.$$.fragment,lt),yt=r(lt),_e=a(lt,"P",{"data-svelte-h":!0}),h(_e)!=="svelte-1gjwzkd"&&(_e.textContent=Ot),lt.forEach(o),Oe=r(e),c(H.$$.fragment,e),Ie=r(e),w=a(e,"DIV",{class:!0});var mt=_(w);c(M.$$.fragment,mt),Ct=r(mt),ge=a(mt,"P",{"data-svelte-h":!0}),h(ge)!=="svelte-pottg0"&&(ge.textContent=It),mt.forEach(o),Se=r(e),c(G.$$.fragment,e),We=r(e),L=a(e,"DIV",{class:!0});var ft=_(L);c(J.$$.fragment,ft),wt=r(ft),he=a(ft,"P",{"data-svelte-h":!0}),h(he)!=="svelte-yqqibm"&&(he.textContent=St),ft.forEach(o),je=r(e),c(Q.$$.fragment,e),Be=r(e),k=a(e,"DIV",{class:!0});var pt=_(k);c(Y.$$.fragment,pt),Lt=r(pt),Ae=a(pt,"P",{"data-svelte-h":!0}),h(Ae)!=="svelte-hw86c4"&&(Ae.textContent=Wt),pt.forEach(o),Ue=r(e),c(Z.$$.fragment,e),He=r(e),D=a(e,"DIV",{class:!0});var ut=_(D);c(ee.$$.fragment,ut),kt=r(ut),$e=a(ut,"P",{"data-svelte-h":!0}),h($e)!=="svelte-zfgvyc"&&($e.textContent=jt),ut.forEach(o),Me=r(e),c(te.$$.fragment,e),Ge=r(e),T=a(e,"DIV",{class:!0});var _t=_(T);c(oe.$$.fragment,_t),Dt=r(_t),be=a(_t,"P",{"data-svelte-h":!0}),h(be)!=="svelte-10td8ls"&&(be.textContent=Bt),_t.forEach(o),Je=r(e),c(se.$$.fragment,e),Qe=r(e),R=a(e,"DIV",{class:!0});var gt=_(R);c(ne.$$.fragment,gt),Tt=r(gt),ve=a(gt,"P",{"data-svelte-h":!0}),h(ve)!=="svelte-yqwtom"&&(ve.textContent=Ut),gt.forEach(o),Ye=r(e),c(re.$$.fragment,e),Ze=r(e),z=a(e,"DIV",{class:!0});var ht=_(z);c(ie.$$.fragment,ht),Rt=r(ht),Pe=a(ht,"P",{"data-svelte-h":!0}),h(Pe)!=="svelte-10eh8wb"&&(Pe.textContent=Ht),ht.forEach(o),et=r(e),c(ae.$$.fragment,e),tt=r(e),V=a(e,"DIV",{class:!0});var At=_(V);c(de.$$.fragment,At),zt=r(At),xe=a(At,"P",{"data-svelte-h":!0}),h(xe)!=="svelte-16xjg0o"&&(xe.textContent=Mt),At.forEach(o),ot=r(e),c(ce.$$.fragment,e),st=r(e),F=a(e,"DIV",{class:!0});var $t=_(F);c(le.$$.fragment,$t),Vt=r($t),ye=a($t,"P",{"data-svelte-h":!0}),h(ye)!=="svelte-15dojbg"&&(ye.textContent=Gt),$t.forEach(o),nt=r(e),we=a(e,"P",{}),_(we).forEach(o),this.h()},h(){g(b,"name","hf:doc:metadata"),g(b,"content",so),g(v,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),g(P,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),g(x,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),g(y,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),g(C,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),g(w,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),g(L,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),g(k,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),g(D,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),g(T,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),g(R,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),g(z,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),g(V,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),g(F,"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,t){l(document.head,b),s(e,Le,t),s(e,Ce,t),s(e,ke,t),m(K,e,t),s(e,De,t),s(e,X,t),s(e,Te,t),m(N,e,t),s(e,Re,t),s(e,v,t),m(q,v,null),l(v,bt),l(v,me),s(e,ze,t),m(E,e,t),s(e,Ve,t),s(e,P,t),m(O,P,null),l(P,vt),l(P,fe),s(e,Fe,t),m(I,e,t),s(e,Ke,t),s(e,x,t),m(S,x,null),l(x,Pt),l(x,pe),s(e,Xe,t),m(W,e,t),s(e,Ne,t),s(e,y,t),m(j,y,null),l(y,xt),l(y,ue),s(e,qe,t),m(B,e,t),s(e,Ee,t),s(e,C,t),m(U,C,null),l(C,yt),l(C,_e),s(e,Oe,t),m(H,e,t),s(e,Ie,t),s(e,w,t),m(M,w,null),l(w,Ct),l(w,ge),s(e,Se,t),m(G,e,t),s(e,We,t),s(e,L,t),m(J,L,null),l(L,wt),l(L,he),s(e,je,t),m(Q,e,t),s(e,Be,t),s(e,k,t),m(Y,k,null),l(k,Lt),l(k,Ae),s(e,Ue,t),m(Z,e,t),s(e,He,t),s(e,D,t),m(ee,D,null),l(D,kt),l(D,$e),s(e,Me,t),m(te,e,t),s(e,Ge,t),s(e,T,t),m(oe,T,null),l(T,Dt),l(T,be),s(e,Je,t),m(se,e,t),s(e,Qe,t),s(e,R,t),m(ne,R,null),l(R,Tt),l(R,ve),s(e,Ye,t),m(re,e,t),s(e,Ze,t),s(e,z,t),m(ie,z,null),l(z,Rt),l(z,Pe),s(e,et,t),m(ae,e,t),s(e,tt,t),s(e,V,t),m(de,V,null),l(V,zt),l(V,xe),s(e,ot,t),m(ce,e,t),s(e,st,t),s(e,F,t),m(le,F,null),l(F,Vt),l(F,ye),s(e,nt,t),s(e,we,t),rt=!0},p:Qt,i(e){rt||(f(K.$$.fragment,e),f(N.$$.fragment,e),f(q.$$.fragment,e),f(E.$$.fragment,e),f(O.$$.fragment,e),f(I.$$.fragment,e),f(S.$$.fragment,e),f(W.$$.fragment,e),f(j.$$.fragment,e),f(B.$$.fragment,e),f(U.$$.fragment,e),f(H.$$.fragment,e),f(M.$$.fragment,e),f(G.$$.fragment,e),f(J.$$.fragment,e),f(Q.$$.fragment,e),f(Y.$$.fragment,e),f(Z.$$.fragment,e),f(ee.$$.fragment,e),f(te.$$.fragment,e),f(oe.$$.fragment,e),f(se.$$.fragment,e),f(ne.$$.fragment,e),f(re.$$.fragment,e),f(ie.$$.fragment,e),f(ae.$$.fragment,e),f(de.$$.fragment,e),f(ce.$$.fragment,e),f(le.$$.fragment,e),rt=!0)},o(e){p(K.$$.fragment,e),p(N.$$.fragment,e),p(q.$$.fragment,e),p(E.$$.fragment,e),p(O.$$.fragment,e),p(I.$$.fragment,e),p(S.$$.fragment,e),p(W.$$.fragment,e),p(j.$$.fragment,e),p(B.$$.fragment,e),p(U.$$.fragment,e),p(H.$$.fragment,e),p(M.$$.fragment,e),p(G.$$.fragment,e),p(J.$$.fragment,e),p(Q.$$.fragment,e),p(Y.$$.fragment,e),p(Z.$$.fragment,e),p(ee.$$.fragment,e),p(te.$$.fragment,e),p(oe.$$.fragment,e),p(se.$$.fragment,e),p(ne.$$.fragment,e),p(re.$$.fragment,e),p(ie.$$.fragment,e),p(ae.$$.fragment,e),p(de.$$.fragment,e),p(ce.$$.fragment,e),p(le.$$.fragment,e),rt=!1},d(e){e&&(o(Le),o(Ce),o(ke),o(De),o(X),o(Te),o(Re),o(v),o(ze),o(Ve),o(P),o(Fe),o(Ke),o(x),o(Xe),o(Ne),o(y),o(qe),o(Ee),o(C),o(Oe),o(Ie),o(w),o(Se),o(We),o(L),o(je),o(Be),o(k),o(Ue),o(He),o(D),o(Me),o(Ge),o(T),o(Je),o(Qe),o(R),o(Ye),o(Ze),o(z),o(et),o(tt),o(V),o(ot),o(st),o(F),o(nt),o(we)),o(b),u(K,e),u(N,e),u(q),u(E,e),u(O),u(I,e),u(S),u(W,e),u(j),u(B,e),u(U),u(H,e),u(M),u(G,e),u(J),u(Q,e),u(Y),u(Z,e),u(ee),u(te,e),u(oe),u(se,e),u(ne),u(re,e),u(ie),u(ae,e),u(de),u(ce,e),u(le)}}}const so='{"title":"Attention Processor","local":"attention-processor","sections":[{"title":"AttnProcessor","local":"diffusers.models.attention_processor.AttnProcessor","sections":[],"depth":2},{"title":"AttnProcessor2_0","local":"diffusers.models.attention_processor.AttnProcessor2_0","sections":[],"depth":2},{"title":"LoRAAttnProcessor","local":"diffusers.models.attention_processor.LoRAAttnProcessor","sections":[],"depth":2},{"title":"LoRAAttnProcessor2_0","local":"diffusers.models.attention_processor.LoRAAttnProcessor2_0","sections":[],"depth":2},{"title":"CustomDiffusionAttnProcessor","local":"diffusers.models.attention_processor.CustomDiffusionAttnProcessor","sections":[],"depth":2},{"title":"CustomDiffusionAttnProcessor2_0","local":"diffusers.models.attention_processor.CustomDiffusionAttnProcessor2_0","sections":[],"depth":2},{"title":"AttnAddedKVProcessor","local":"diffusers.models.attention_processor.AttnAddedKVProcessor","sections":[],"depth":2},{"title":"AttnAddedKVProcessor2_0","local":"diffusers.models.attention_processor.AttnAddedKVProcessor2_0","sections":[],"depth":2},{"title":"LoRAAttnAddedKVProcessor","local":"diffusers.models.attention_processor.LoRAAttnAddedKVProcessor","sections":[],"depth":2},{"title":"XFormersAttnProcessor","local":"diffusers.models.attention_processor.XFormersAttnProcessor","sections":[],"depth":2},{"title":"LoRAXFormersAttnProcessor","local":"diffusers.models.attention_processor.LoRAXFormersAttnProcessor","sections":[],"depth":2},{"title":"CustomDiffusionXFormersAttnProcessor","local":"diffusers.models.attention_processor.CustomDiffusionXFormersAttnProcessor","sections":[],"depth":2},{"title":"SlicedAttnProcessor","local":"diffusers.models.attention_processor.SlicedAttnProcessor","sections":[],"depth":2},{"title":"SlicedAttnAddedKVProcessor","local":"diffusers.models.attention_processor.SlicedAttnAddedKVProcessor","sections":[],"depth":2}],"depth":1}';function no(Ft){return Yt(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class lo extends Zt{constructor(b){super(),eo(this,b,no,oo,Jt,{})}}export{lo as component};
