import{s as se,n as ae,o as ie}from"../chunks/scheduler.182ea377.js";import{S as de,i as me,g as i,s as r,r as $,A as le,h as d,f as t,c as s,j as P,u as w,x as W,k as A,y as f,a as n,v as x,d as M,t as y,w as O}from"../chunks/index.abf12888.js";import{D as X}from"../chunks/Docstring.81ce6c10.js";import{H as Y,E as fe}from"../chunks/EditOnGithub.9b8e78e4.js";function ce(ee){let m,E,z,q,p,H,u,oe="A Transformer model for video-like data.",I,h,U,a,_,Z,C,te="A Transformer model for video-like data.",J,c,g,K,L,ne="The <code>TransformerTemporal</code> forward method.",S,T,B,l,b,Q,k,re="The output of <code>TransformerTemporalModel</code>.",V,v,j,D,F;return p=new Y({props:{title:"Transformer Temporal",local:"transformer-temporal",headingTag:"h1"}}),h=new Y({props:{title:"TransformerTemporalModel",local:"diffusers.models.TransformerTemporalModel",headingTag:"h2"}}),_=new X({props:{name:"class diffusers.models.TransformerTemporalModel",anchor:"diffusers.models.TransformerTemporalModel",parameters:[{name:"num_attention_heads",val:": int = 16"},{name:"attention_head_dim",val:": int = 88"},{name:"in_channels",val:": Optional = None"},{name:"out_channels",val:": Optional = None"},{name:"num_layers",val:": int = 1"},{name:"dropout",val:": float = 0.0"},{name:"norm_num_groups",val:": int = 32"},{name:"cross_attention_dim",val:": Optional = None"},{name:"attention_bias",val:": bool = False"},{name:"sample_size",val:": Optional = None"},{name:"activation_fn",val:": str = 'geglu'"},{name:"norm_elementwise_affine",val:": bool = True"},{name:"double_self_attention",val:": bool = True"},{name:"positional_embeddings",val:": Optional = None"},{name:"num_positional_embeddings",val:": Optional = None"}],parametersDescription:[{anchor:"diffusers.models.TransformerTemporalModel.num_attention_heads",description:"<strong>num_attention_heads</strong> (<code>int</code>, <em>optional</em>, defaults to 16) &#x2014; The number of heads to use for multi-head attention.",name:"num_attention_heads"},{anchor:"diffusers.models.TransformerTemporalModel.attention_head_dim",description:"<strong>attention_head_dim</strong> (<code>int</code>, <em>optional</em>, defaults to 88) &#x2014; The number of channels in each head.",name:"attention_head_dim"},{anchor:"diffusers.models.TransformerTemporalModel.in_channels",description:`<strong>in_channels</strong> (<code>int</code>, <em>optional</em>) &#x2014;
The number of channels in the input and output (specify if the input is <strong>continuous</strong>).`,name:"in_channels"},{anchor:"diffusers.models.TransformerTemporalModel.num_layers",description:"<strong>num_layers</strong> (<code>int</code>, <em>optional</em>, defaults to 1) &#x2014; The number of layers of Transformer blocks to use.",name:"num_layers"},{anchor:"diffusers.models.TransformerTemporalModel.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.TransformerTemporalModel.cross_attention_dim",description:"<strong>cross_attention_dim</strong> (<code>int</code>, <em>optional</em>) &#x2014; The number of <code>encoder_hidden_states</code> dimensions to use.",name:"cross_attention_dim"},{anchor:"diffusers.models.TransformerTemporalModel.attention_bias",description:`<strong>attention_bias</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Configure if the <code>TransformerBlock</code> attention should contain a bias parameter.`,name:"attention_bias"},{anchor:"diffusers.models.TransformerTemporalModel.sample_size",description:`<strong>sample_size</strong> (<code>int</code>, <em>optional</em>) &#x2014; The width of the latent images (specify if the input is <strong>discrete</strong>).
This is fixed during training since it is used to learn a number of position embeddings.`,name:"sample_size"},{anchor:"diffusers.models.TransformerTemporalModel.activation_fn",description:`<strong>activation_fn</strong> (<code>str</code>, <em>optional</em>, defaults to <code>&quot;geglu&quot;</code>) &#x2014;
Activation function to use in feed-forward. See <code>diffusers.models.activations.get_activation</code> for supported
activation functions.`,name:"activation_fn"},{anchor:"diffusers.models.TransformerTemporalModel.norm_elementwise_affine",description:`<strong>norm_elementwise_affine</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Configure if the <code>TransformerBlock</code> should use learnable elementwise affine parameters for normalization.`,name:"norm_elementwise_affine"},{anchor:"diffusers.models.TransformerTemporalModel.double_self_attention",description:`<strong>double_self_attention</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Configure if each <code>TransformerBlock</code> should contain two self-attention layers.
positional_embeddings &#x2014; (<code>str</code>, <em>optional</em>):
The type of positional embeddings to apply to the sequence input before passing use.
num_positional_embeddings &#x2014; (<code>int</code>, <em>optional</em>):
The maximum length of the sequence over which to apply positional embeddings.`,name:"double_self_attention"}],source:"https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_temporal.py#L41"}}),g=new X({props:{name:"forward",anchor:"diffusers.models.TransformerTemporalModel.forward",parameters:[{name:"hidden_states",val:": Tensor"},{name:"encoder_hidden_states",val:": Optional = None"},{name:"timestep",val:": Optional = None"},{name:"class_labels",val:": LongTensor = None"},{name:"num_frames",val:": int = 1"},{name:"cross_attention_kwargs",val:": Optional = None"},{name:"return_dict",val:": bool = True"}],parametersDescription:[{anchor:"diffusers.models.TransformerTemporalModel.forward.hidden_states",description:`<strong>hidden_states</strong> (<code>torch.LongTensor</code> of shape <code>(batch size, num latent pixels)</code> if discrete, <code>torch.Tensor</code> of shape <code>(batch size, channel, height, width)</code> if continuous) &#x2014;
Input hidden_states.`,name:"hidden_states"},{anchor:"diffusers.models.TransformerTemporalModel.forward.encoder_hidden_states",description:`<strong>encoder_hidden_states</strong> ( <code>torch.LongTensor</code> of shape <code>(batch size, encoder_hidden_states dim)</code>, <em>optional</em>) &#x2014;
Conditional embeddings for cross attention layer. If not given, cross-attention defaults to
self-attention.`,name:"encoder_hidden_states"},{anchor:"diffusers.models.TransformerTemporalModel.forward.timestep",description:`<strong>timestep</strong> ( <code>torch.LongTensor</code>, <em>optional</em>) &#x2014;
Used to indicate denoising step. Optional timestep to be applied as an embedding in <code>AdaLayerNorm</code>.`,name:"timestep"},{anchor:"diffusers.models.TransformerTemporalModel.forward.class_labels",description:`<strong>class_labels</strong> ( <code>torch.LongTensor</code> of shape <code>(batch size, num classes)</code>, <em>optional</em>) &#x2014;
Used to indicate class labels conditioning. Optional class labels to be applied as an embedding in
<code>AdaLayerZeroNorm</code>.`,name:"class_labels"},{anchor:"diffusers.models.TransformerTemporalModel.forward.num_frames",description:`<strong>num_frames</strong> (<code>int</code>, <em>optional</em>, defaults to 1) &#x2014;
The number of frames to be processed per batch. This is used to reshape the hidden states.`,name:"num_frames"},{anchor:"diffusers.models.TransformerTemporalModel.forward.cross_attention_kwargs",description:`<strong>cross_attention_kwargs</strong> (<code>dict</code>, <em>optional</em>) &#x2014;
A kwargs dictionary that if specified is passed along to the <code>AttentionProcessor</code> as defined under
<code>self.processor</code> in
<a href="https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py" rel="nofollow">diffusers.models.attention_processor</a>.`,name:"cross_attention_kwargs"},{anchor:"diffusers.models.TransformerTemporalModel.forward.return_dict",description:`<strong>return_dict</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>True</code>) &#x2014;
Whether or not to return a <a href="/docs/diffusers/main/en/api/models/unet2d-cond#diffusers.models.unets.unet_2d_condition.UNet2DConditionOutput">UNet2DConditionOutput</a> instead of a plain
tuple.`,name:"return_dict"}],source:"https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_temporal.py#L121",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script>


<p>If <code>return_dict</code> is True, an <code>~models.transformer_temporal.TransformerTemporalModelOutput</code> is
returned, otherwise a <code>tuple</code> where the first element is the sample tensor.</p>
`,returnType:`<script context="module">export const metadata = 'undefined';<\/script>


<p><code>~models.transformer_temporal.TransformerTemporalModelOutput</code> or <code>tuple</code></p>
`}}),T=new Y({props:{title:"TransformerTemporalModelOutput",local:"diffusers.models.transformers.transformer_temporal.TransformerTemporalModelOutput",headingTag:"h2"}}),b=new X({props:{name:"class diffusers.models.transformers.transformer_temporal.TransformerTemporalModelOutput",anchor:"diffusers.models.transformers.transformer_temporal.TransformerTemporalModelOutput",parameters:[{name:"sample",val:": Tensor"}],parametersDescription:[{anchor:"diffusers.models.transformers.transformer_temporal.TransformerTemporalModelOutput.sample",description:`<strong>sample</strong> (<code>torch.Tensor</code> of shape <code>(batch_size x num_frames, num_channels, height, width)</code>) &#x2014;
The hidden states output conditioned on <code>encoder_hidden_states</code> input.`,name:"sample"}],source:"https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_temporal.py#L28"}}),v=new fe({props:{source:"https://github.com/huggingface/diffusers/blob/main/docs/source/en/api/models/transformer_temporal.md"}}),{c(){m=i("meta"),E=r(),z=i("p"),q=r(),$(p.$$.fragment),H=r(),u=i("p"),u.textContent=oe,I=r(),$(h.$$.fragment),U=r(),a=i("div"),$(_.$$.fragment),Z=r(),C=i("p"),C.textContent=te,J=r(),c=i("div"),$(g.$$.fragment),K=r(),L=i("p"),L.innerHTML=ne,S=r(),$(T.$$.fragment),B=r(),l=i("div"),$(b.$$.fragment),Q=r(),k=i("p"),k.innerHTML=re,V=r(),$(v.$$.fragment),j=r(),D=i("p"),this.h()},l(e){const o=le("svelte-u9bgzb",document.head);m=d(o,"META",{name:!0,content:!0}),o.forEach(t),E=s(e),z=d(e,"P",{}),P(z).forEach(t),q=s(e),w(p.$$.fragment,e),H=s(e),u=d(e,"P",{"data-svelte-h":!0}),W(u)!=="svelte-1ywwpi7"&&(u.textContent=oe),I=s(e),w(h.$$.fragment,e),U=s(e),a=d(e,"DIV",{class:!0});var N=P(a);w(_.$$.fragment,N),Z=s(N),C=d(N,"P",{"data-svelte-h":!0}),W(C)!=="svelte-1ywwpi7"&&(C.textContent=te),J=s(N),c=d(N,"DIV",{class:!0});var G=P(c);w(g.$$.fragment,G),K=s(G),L=d(G,"P",{"data-svelte-h":!0}),W(L)!=="svelte-14zjqkb"&&(L.innerHTML=ne),G.forEach(t),N.forEach(t),S=s(e),w(T.$$.fragment,e),B=s(e),l=d(e,"DIV",{class:!0});var R=P(l);w(b.$$.fragment,R),Q=s(R),k=d(R,"P",{"data-svelte-h":!0}),W(k)!=="svelte-1wdi1wk"&&(k.innerHTML=re),R.forEach(t),V=s(e),w(v.$$.fragment,e),j=s(e),D=d(e,"P",{}),P(D).forEach(t),this.h()},h(){A(m,"name","hf:doc:metadata"),A(m,"content",pe),A(c,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),A(a,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),A(l,"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,o){f(document.head,m),n(e,E,o),n(e,z,o),n(e,q,o),x(p,e,o),n(e,H,o),n(e,u,o),n(e,I,o),x(h,e,o),n(e,U,o),n(e,a,o),x(_,a,null),f(a,Z),f(a,C),f(a,J),f(a,c),x(g,c,null),f(c,K),f(c,L),n(e,S,o),x(T,e,o),n(e,B,o),n(e,l,o),x(b,l,null),f(l,Q),f(l,k),n(e,V,o),x(v,e,o),n(e,j,o),n(e,D,o),F=!0},p:ae,i(e){F||(M(p.$$.fragment,e),M(h.$$.fragment,e),M(_.$$.fragment,e),M(g.$$.fragment,e),M(T.$$.fragment,e),M(b.$$.fragment,e),M(v.$$.fragment,e),F=!0)},o(e){y(p.$$.fragment,e),y(h.$$.fragment,e),y(_.$$.fragment,e),y(g.$$.fragment,e),y(T.$$.fragment,e),y(b.$$.fragment,e),y(v.$$.fragment,e),F=!1},d(e){e&&(t(E),t(z),t(q),t(H),t(u),t(I),t(U),t(a),t(S),t(B),t(l),t(V),t(j),t(D)),t(m),O(p,e),O(h,e),O(_),O(g),O(T,e),O(b),O(v,e)}}}const pe='{"title":"Transformer Temporal","local":"transformer-temporal","sections":[{"title":"TransformerTemporalModel","local":"diffusers.models.TransformerTemporalModel","sections":[],"depth":2},{"title":"TransformerTemporalModelOutput","local":"diffusers.models.transformers.transformer_temporal.TransformerTemporalModelOutput","sections":[],"depth":2}],"depth":1}';function ue(ee){return ie(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class be extends de{constructor(m){super(),me(this,m,ue,ce,se,{})}}export{be as component};
