Buckets:
| import{s as te,n as ne,o as re}from"../chunks/scheduler.53228c21.js";import{S as oe,i as se,e as d,s as o,c as y,h as ae,a as m,d as n,b as s,f as F,g as M,j as G,k as R,l,m as a,n as $,t as w,o as D,p as K}from"../chunks/index.cac5d66a.js";import{C as ie}from"../chunks/CopyLLMTxtMenu.1d2ffe0c.js";import{D as Z}from"../chunks/Docstring.ae6a0c34.js";import{H as ee,E as de}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.5d043803.js";function me(W){let i,P,z,q,_,N,u,C,h,J='The single-stream MMDiT flow-matching transformer used by <a href="https://github.com/krea-ai/krea-2" rel="nofollow">Krea 2</a>.',E,p,H,r,g,U,v,Q="The single-stream MMDiT flow-matching backbone used by the Krea 2 pipeline.",B,T,X=`Text conditioning enters as a stack of hidden states tapped from several layers of a multimodal text encoder. A | |
| small text-fusion transformer collapses the layer axis and refines the token sequence; the result is concatenated | |
| with the patchified image latents into a single <code>[text, image]</code> sequence processed by the transformer blocks. The | |
| timestep conditions every block through one shared modulation vector plus per-block learned tables.`,I,c,x,V,k,Y="Predict the flow-matching velocity for the image tokens.",S,b,A,L,O;return _=new ie({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),u=new ee({props:{title:"Krea2Transformer2DModel",local:"krea2transformer2dmodel",headingTag:"h1"}}),p=new ee({props:{title:"Krea2Transformer2DModel",local:"diffusers.Krea2Transformer2DModel",headingTag:"h2"}}),g=new Z({props:{name:"class diffusers.Krea2Transformer2DModel",anchor:"diffusers.Krea2Transformer2DModel",parameters:[{name:"in_channels",val:": int = 64"},{name:"num_layers",val:": int = 28"},{name:"attention_head_dim",val:": int = 128"},{name:"num_attention_heads",val:": int = 48"},{name:"num_key_value_heads",val:": int = 12"},{name:"intermediate_size",val:": int = 16384"},{name:"timestep_embed_dim",val:": int = 256"},{name:"text_hidden_dim",val:": int = 2560"},{name:"num_text_layers",val:": int = 12"},{name:"text_num_attention_heads",val:": int = 20"},{name:"text_num_key_value_heads",val:": int = 20"},{name:"text_intermediate_size",val:": int = 6912"},{name:"num_layerwise_text_blocks",val:": int = 2"},{name:"num_refiner_text_blocks",val:": int = 2"},{name:"axes_dims_rope",val:": tuple = (32, 48, 48)"},{name:"rope_theta",val:": float = 1000.0"},{name:"norm_eps",val:": float = 1e-05"}],parametersDescription:[{anchor:"diffusers.Krea2Transformer2DModel.in_channels",description:`<strong>in_channels</strong> (<code>int</code>, defaults to 64) — | |
| Latent channel count after patchification (<code>vae_channels * patch_size ** 2</code>).`,name:"in_channels"},{anchor:"diffusers.Krea2Transformer2DModel.num_layers",description:`<strong>num_layers</strong> (<code>int</code>, defaults to 28) — | |
| Number of transformer blocks.`,name:"num_layers"},{anchor:"diffusers.Krea2Transformer2DModel.attention_head_dim",description:`<strong>attention_head_dim</strong> (<code>int</code>, defaults to 128) — | |
| Dimension of each attention head; the total hidden size is <code>attention_head_dim * num_attention_heads</code>.`,name:"attention_head_dim"},{anchor:"diffusers.Krea2Transformer2DModel.num_attention_heads",description:`<strong>num_attention_heads</strong> (<code>int</code>, defaults to 48) — | |
| Number of query heads.`,name:"num_attention_heads"},{anchor:"diffusers.Krea2Transformer2DModel.num_key_value_heads",description:`<strong>num_key_value_heads</strong> (<code>int</code>, defaults to 12) — | |
| Number of key/value heads for grouped-query attention.`,name:"num_key_value_heads"},{anchor:"diffusers.Krea2Transformer2DModel.intermediate_size",description:`<strong>intermediate_size</strong> (<code>int</code>, defaults to 16384) — | |
| Feed-forward hidden size of the SwiGLU MLP inside each block.`,name:"intermediate_size"},{anchor:"diffusers.Krea2Transformer2DModel.timestep_embed_dim",description:`<strong>timestep_embed_dim</strong> (<code>int</code>, defaults to 256) — | |
| Width of the sinusoidal timestep embedding before its MLP.`,name:"timestep_embed_dim"},{anchor:"diffusers.Krea2Transformer2DModel.text_hidden_dim",description:`<strong>text_hidden_dim</strong> (<code>int</code>, defaults to 2560) — | |
| Hidden size of the text encoder whose hidden states are consumed.`,name:"text_hidden_dim"},{anchor:"diffusers.Krea2Transformer2DModel.num_text_layers",description:`<strong>num_text_layers</strong> (<code>int</code>, defaults to 12) — | |
| Number of tapped text-encoder hidden states stacked per token.`,name:"num_text_layers"},{anchor:"diffusers.Krea2Transformer2DModel.text_num_attention_heads",description:`<strong>text_num_attention_heads</strong> (<code>int</code>, defaults to 20) — | |
| Number of query heads in the text fusion blocks.`,name:"text_num_attention_heads"},{anchor:"diffusers.Krea2Transformer2DModel.text_num_key_value_heads",description:`<strong>text_num_key_value_heads</strong> (<code>int</code>, defaults to 20) — | |
| Number of key/value heads in the text fusion blocks.`,name:"text_num_key_value_heads"},{anchor:"diffusers.Krea2Transformer2DModel.text_intermediate_size",description:`<strong>text_intermediate_size</strong> (<code>int</code>, defaults to 6912) — | |
| Feed-forward hidden size of the SwiGLU MLP inside the text fusion blocks.`,name:"text_intermediate_size"},{anchor:"diffusers.Krea2Transformer2DModel.num_layerwise_text_blocks",description:`<strong>num_layerwise_text_blocks</strong> (<code>int</code>, defaults to 2) — | |
| Number of text fusion blocks applied across the tapped-layer axis (per token).`,name:"num_layerwise_text_blocks"},{anchor:"diffusers.Krea2Transformer2DModel.num_refiner_text_blocks",description:`<strong>num_refiner_text_blocks</strong> (<code>int</code>, defaults to 2) — | |
| Number of text fusion blocks applied across the token sequence.`,name:"num_refiner_text_blocks"},{anchor:"diffusers.Krea2Transformer2DModel.axes_dims_rope",description:`<strong>axes_dims_rope</strong> (<code>tuple[int, int, int]</code>, defaults to <code>(32, 48, 48)</code>) — | |
| Head-dim split across the (t, h, w) rotary position axes.`,name:"axes_dims_rope"},{anchor:"diffusers.Krea2Transformer2DModel.rope_theta",description:`<strong>rope_theta</strong> (<code>float</code>, defaults to 1000.0) — | |
| Base used by the rotary position embedding.`,name:"rope_theta"},{anchor:"diffusers.Krea2Transformer2DModel.norm_eps",description:`<strong>norm_eps</strong> (<code>float</code>, defaults to 1e-5) — | |
| Epsilon used by all RMSNorm modules.`,name:"norm_eps"}],source:"https://github.com/huggingface/diffusers/blob/vr_13876/src/diffusers/models/transformers/transformer_krea2.py#L330"}}),x=new Z({props:{name:"forward",anchor:"diffusers.Krea2Transformer2DModel.forward",parameters:[{name:"hidden_states",val:": Tensor"},{name:"encoder_hidden_states",val:": Tensor"},{name:"timestep",val:": Tensor"},{name:"position_ids",val:": Tensor"},{name:"encoder_attention_mask",val:": torch.Tensor | None = None"},{name:"attention_kwargs",val:": dict[str, typing.Any] | None = None"},{name:"return_dict",val:": bool = True"}],parametersDescription:[{anchor:"diffusers.Krea2Transformer2DModel.forward.hidden_states",description:`<strong>hidden_states</strong> (<code>torch.Tensor</code> of shape <code>(batch_size, image_seq_len, in_channels)</code>) — | |
| Packed (patchified) noisy image latents.`,name:"hidden_states"},{anchor:"diffusers.Krea2Transformer2DModel.forward.encoder_hidden_states",description:`<strong>encoder_hidden_states</strong> (<code>torch.Tensor</code> of shape <code>(batch_size, text_seq_len, num_text_layers, text_hidden_dim)</code>) — | |
| Stack of tapped text-encoder hidden states per token.`,name:"encoder_hidden_states"},{anchor:"diffusers.Krea2Transformer2DModel.forward.timestep",description:`<strong>timestep</strong> (<code>torch.Tensor</code> of shape <code>(batch_size,)</code>) — | |
| Flow-matching time in <code>[0, 1]</code> (1 is pure noise, 0 is clean data).`,name:"timestep"},{anchor:"diffusers.Krea2Transformer2DModel.forward.position_ids",description:`<strong>position_ids</strong> (<code>torch.Tensor</code> of shape <code>(text_seq_len + image_seq_len, 3)</code>) — | |
| <code>(t, h, w)</code> rotary coordinates for the combined sequence. Text rows are all-zero; image rows hold the | |
| latent-grid coordinates.`,name:"position_ids"},{anchor:"diffusers.Krea2Transformer2DModel.forward.encoder_attention_mask",description:`<strong>encoder_attention_mask</strong> (<code>torch.Tensor</code> of shape <code>(batch_size, text_seq_len)</code>, <em>optional</em>) — | |
| Boolean mask marking valid text tokens. Pass <code>None</code> when every text token is valid.`,name:"encoder_attention_mask"},{anchor:"diffusers.Krea2Transformer2DModel.forward.attention_kwargs",description:`<strong>attention_kwargs</strong> (<code>dict</code>, <em>optional</em>) — | |
| A kwargs dictionary that, when it contains a <code>scale</code> entry, sets the LoRA scale applied to this | |
| transformer’s adapters for the duration of the forward pass.`,name:"attention_kwargs"},{anchor:"diffusers.Krea2Transformer2DModel.forward.return_dict",description:`<strong>return_dict</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>True</code>) — | |
| Whether to return a <a href="/docs/diffusers/pr_13876/en/api/models/sana_video_transformer3d#diffusers.models.modeling_outputs.Transformer2DModelOutput">Transformer2DModelOutput</a> instead of a plain tuple.`,name:"return_dict"}],source:"https://github.com/huggingface/diffusers/blob/vr_13876/src/diffusers/models/transformers/transformer_krea2.py#L447",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><a | |
| href="/docs/diffusers/pr_13876/en/api/models/sana_video_transformer3d#diffusers.models.modeling_outputs.Transformer2DModelOutput" | |
| >Transformer2DModelOutput</a> or a <code>tuple</code> whose first element is the velocity | |
| tensor of shape <code>(batch_size, image_seq_len, in_channels)</code>.</p> | |
| `}}),b=new de({props:{source:"https://github.com/huggingface/diffusers/blob/main/docs/source/en/api/models/krea2_transformer2d.md"}}),{c(){i=d("meta"),P=o(),z=d("p"),q=o(),y(_.$$.fragment),N=o(),y(u.$$.fragment),C=o(),h=d("p"),h.innerHTML=J,E=o(),y(p.$$.fragment),H=o(),r=d("div"),y(g.$$.fragment),U=o(),v=d("p"),v.textContent=Q,B=o(),T=d("p"),T.innerHTML=X,I=o(),c=d("div"),y(x.$$.fragment),V=o(),k=d("p"),k.textContent=Y,S=o(),y(b.$$.fragment),A=o(),L=d("p"),this.h()},l(e){const t=ae("svelte-u9bgzb",document.head);i=m(t,"META",{name:!0,content:!0}),t.forEach(n),P=s(e),z=m(e,"P",{}),F(z).forEach(n),q=s(e),M(_.$$.fragment,e),N=s(e),M(u.$$.fragment,e),C=s(e),h=m(e,"P",{"data-svelte-h":!0}),G(h)!=="svelte-1w0nedb"&&(h.innerHTML=J),E=s(e),M(p.$$.fragment,e),H=s(e),r=m(e,"DIV",{class:!0});var f=F(r);M(g.$$.fragment,f),U=s(f),v=m(f,"P",{"data-svelte-h":!0}),G(v)!=="svelte-laetpq"&&(v.textContent=Q),B=s(f),T=m(f,"P",{"data-svelte-h":!0}),G(T)!=="svelte-14j5pn0"&&(T.innerHTML=X),I=s(f),c=m(f,"DIV",{class:!0});var j=F(c);M(x.$$.fragment,j),V=s(j),k=m(j,"P",{"data-svelte-h":!0}),G(k)!=="svelte-fmm4jg"&&(k.textContent=Y),j.forEach(n),f.forEach(n),S=s(e),M(b.$$.fragment,e),A=s(e),L=m(e,"P",{}),F(L).forEach(n),this.h()},h(){R(i,"name","hf:doc:metadata"),R(i,"content",le),R(c,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),R(r,"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,i),a(e,P,t),a(e,z,t),a(e,q,t),$(_,e,t),a(e,N,t),$(u,e,t),a(e,C,t),a(e,h,t),a(e,E,t),$(p,e,t),a(e,H,t),a(e,r,t),$(g,r,null),l(r,U),l(r,v),l(r,B),l(r,T),l(r,I),l(r,c),$(x,c,null),l(c,V),l(c,k),a(e,S,t),$(b,e,t),a(e,A,t),a(e,L,t),O=!0},p:ne,i(e){O||(w(_.$$.fragment,e),w(u.$$.fragment,e),w(p.$$.fragment,e),w(g.$$.fragment,e),w(x.$$.fragment,e),w(b.$$.fragment,e),O=!0)},o(e){D(_.$$.fragment,e),D(u.$$.fragment,e),D(p.$$.fragment,e),D(g.$$.fragment,e),D(x.$$.fragment,e),D(b.$$.fragment,e),O=!1},d(e){e&&(n(P),n(z),n(q),n(N),n(C),n(h),n(E),n(H),n(r),n(S),n(A),n(L)),n(i),K(_,e),K(u,e),K(p,e),K(g),K(x),K(b,e)}}}const le='{"title":"Krea2Transformer2DModel","local":"krea2transformer2dmodel","sections":[{"title":"Krea2Transformer2DModel","local":"diffusers.Krea2Transformer2DModel","sections":[],"depth":2}],"depth":1}';function ce(W){return re(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class ge extends oe{constructor(i){super(),se(this,i,ce,me,te,{})}}export{ge as component}; | |
Xet Storage Details
- Size:
- 12.6 kB
- Xet hash:
- 68cc1626e71c469d95b50265681997cb98c45426e706ad1c27a3c58238d1761c
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.