Buckets:

HuggingFaceDocBuilder's picture
download
raw
16.3 kB
import{s as fe,n as pe,o as ue}from"../chunks/scheduler.53228c21.js";import{S as _e,i as he,e as d,s,c as l,h as ge,a as i,d as t,b as r,f as H,g as f,j,k as P,l as p,m as n,n as u,t as _,o as h,p as g}from"../chunks/index.cac5d66a.js";import{C as Te}from"../chunks/CopyLLMTxtMenu.5ac9ab94.js";import{D as se}from"../chunks/Docstring.8a316450.js";import{C as be}from"../chunks/CodeBlock.606cbaf4.js";import{H as re,E as ve}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.92b2cd9d.js";function xe(ae){let m,R,Z,V,b,W,v,O,x,de='A Diffusion Transformer model for 3D video-like data was introduced in <a href="https://huggingface.co/papers/2501.03575" rel="nofollow">Cosmos World Foundation Model Platform for Physical AI</a> by NVIDIA.',U,M,ie="The model can be loaded with the following code snippet.",A,$,S,D,q,a,C,ee,z,me='A Transformer model for video-like data used in <a href="https://github.com/NVIDIA/Cosmos" rel="nofollow">Cosmos</a>.',oe,T,y,te,I,ce='The <a href="/docs/diffusers/pr_13813/en/api/models/cosmos_transformer3d#diffusers.CosmosTransformer3DModel">CosmosTransformer3DModel</a> forward method.',G,w,B,c,k,ne,L,le='The output of <a href="/docs/diffusers/pr_13813/en/api/models/transformer2d#diffusers.Transformer2DModel">Transformer2DModel</a>.',Q,N,F,E,X;return b=new Te({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),v=new re({props:{title:"CosmosTransformer3DModel",local:"cosmostransformer3dmodel",headingTag:"h1"}}),$=new be({props:{code:"ZnJvbSUyMGRpZmZ1c2VycyUyMGltcG9ydCUyMENvc21vc1RyYW5zZm9ybWVyM0RNb2RlbCUwQSUwQXRyYW5zZm9ybWVyJTIwJTNEJTIwQ29zbW9zVHJhbnNmb3JtZXIzRE1vZGVsLmZyb21fcHJldHJhaW5lZCglMjJudmlkaWElMkZDb3Ntb3MtMS4wLURpZmZ1c2lvbi03Qi1UZXh0MldvcmxkJTIyJTJDJTIwc3ViZm9sZGVyJTNEJTIydHJhbnNmb3JtZXIlMjIlMkMlMjB0b3JjaF9kdHlwZSUzRHRvcmNoLmJmbG9hdDE2KQ==",highlighted:`<span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> CosmosTransformer3DModel
transformer = CosmosTransformer3DModel.from_pretrained(<span class="hljs-string">&quot;nvidia/Cosmos-1.0-Diffusion-7B-Text2World&quot;</span>, subfolder=<span class="hljs-string">&quot;transformer&quot;</span>, torch_dtype=torch.bfloat16)`,lang:"python",wrap:!1}}),D=new re({props:{title:"CosmosTransformer3DModel",local:"diffusers.CosmosTransformer3DModel",headingTag:"h2"}}),C=new se({props:{name:"class diffusers.CosmosTransformer3DModel",anchor:"diffusers.CosmosTransformer3DModel",parameters:[{name:"in_channels",val:": int = 16"},{name:"out_channels",val:": int = 16"},{name:"num_attention_heads",val:": int = 32"},{name:"attention_head_dim",val:": int = 128"},{name:"num_layers",val:": int = 28"},{name:"mlp_ratio",val:": float = 4.0"},{name:"text_embed_dim",val:": int = 1024"},{name:"adaln_lora_dim",val:": int = 256"},{name:"max_size",val:": tuple = (128, 240, 240)"},{name:"patch_size",val:": tuple = (1, 2, 2)"},{name:"rope_scale",val:": tuple = (2.0, 1.0, 1.0)"},{name:"concat_padding_mask",val:": bool = True"},{name:"extra_pos_embed_type",val:": str | None = 'learnable'"},{name:"use_crossattn_projection",val:": bool = False"},{name:"crossattn_proj_in_channels",val:": int = 1024"},{name:"encoder_hidden_states_channels",val:": int = 1024"},{name:"controlnet_block_every_n",val:": int | None = None"},{name:"img_context_dim_in",val:": int | None = None"},{name:"img_context_num_tokens",val:": int = 256"},{name:"img_context_dim_out",val:": int = 2048"}],parametersDescription:[{anchor:"diffusers.CosmosTransformer3DModel.in_channels",description:`<strong>in_channels</strong> (<code>int</code>, defaults to <code>16</code>) &#x2014;
The number of channels in the input.`,name:"in_channels"},{anchor:"diffusers.CosmosTransformer3DModel.out_channels",description:`<strong>out_channels</strong> (<code>int</code>, defaults to <code>16</code>) &#x2014;
The number of channels in the output.`,name:"out_channels"},{anchor:"diffusers.CosmosTransformer3DModel.num_attention_heads",description:`<strong>num_attention_heads</strong> (<code>int</code>, defaults to <code>32</code>) &#x2014;
The number of heads to use for multi-head attention.`,name:"num_attention_heads"},{anchor:"diffusers.CosmosTransformer3DModel.attention_head_dim",description:`<strong>attention_head_dim</strong> (<code>int</code>, defaults to <code>128</code>) &#x2014;
The number of channels in each attention head.`,name:"attention_head_dim"},{anchor:"diffusers.CosmosTransformer3DModel.num_layers",description:`<strong>num_layers</strong> (<code>int</code>, defaults to <code>28</code>) &#x2014;
The number of layers of transformer blocks to use.`,name:"num_layers"},{anchor:"diffusers.CosmosTransformer3DModel.mlp_ratio",description:`<strong>mlp_ratio</strong> (<code>float</code>, defaults to <code>4.0</code>) &#x2014;
The ratio of the hidden layer size to the input size in the feedforward network.`,name:"mlp_ratio"},{anchor:"diffusers.CosmosTransformer3DModel.text_embed_dim",description:`<strong>text_embed_dim</strong> (<code>int</code>, defaults to <code>4096</code>) &#x2014;
Input dimension of text embeddings from the text encoder.`,name:"text_embed_dim"},{anchor:"diffusers.CosmosTransformer3DModel.adaln_lora_dim",description:`<strong>adaln_lora_dim</strong> (<code>int</code>, defaults to <code>256</code>) &#x2014;
The hidden dimension of the Adaptive LayerNorm LoRA layer.`,name:"adaln_lora_dim"},{anchor:"diffusers.CosmosTransformer3DModel.max_size",description:`<strong>max_size</strong> (<code>tuple[int, int, int]</code>, defaults to <code>(128, 240, 240)</code>) &#x2014;
The maximum size of the input latent tensors in the temporal, height, and width dimensions.`,name:"max_size"},{anchor:"diffusers.CosmosTransformer3DModel.patch_size",description:`<strong>patch_size</strong> (<code>tuple[int, int, int]</code>, defaults to <code>(1, 2, 2)</code>) &#x2014;
The patch size to use for patchifying the input latent tensors in the temporal, height, and width
dimensions.`,name:"patch_size"},{anchor:"diffusers.CosmosTransformer3DModel.rope_scale",description:`<strong>rope_scale</strong> (<code>tuple[float, float, float]</code>, defaults to <code>(2.0, 1.0, 1.0)</code>) &#x2014;
The scaling factor to use for RoPE in the temporal, height, and width dimensions.`,name:"rope_scale"},{anchor:"diffusers.CosmosTransformer3DModel.concat_padding_mask",description:`<strong>concat_padding_mask</strong> (<code>bool</code>, defaults to <code>True</code>) &#x2014;
Whether to concatenate the padding mask to the input latent tensors.`,name:"concat_padding_mask"},{anchor:"diffusers.CosmosTransformer3DModel.extra_pos_embed_type",description:`<strong>extra_pos_embed_type</strong> (<code>str</code>, <em>optional</em>, defaults to <code>learnable</code>) &#x2014;
The type of extra positional embeddings to use. Can be one of <code>None</code> or <code>learnable</code>.`,name:"extra_pos_embed_type"},{anchor:"diffusers.CosmosTransformer3DModel.controlnet_block_every_n",description:`<strong>controlnet_block_every_n</strong> (<code>int</code>, <em>optional</em>) &#x2014;
Interval between transformer blocks that should receive control residuals (for example, <code>7</code> to inject after
every seventh block). Required for Cosmos Transfer2.5.`,name:"controlnet_block_every_n"},{anchor:"diffusers.CosmosTransformer3DModel.img_context_dim_in",description:`<strong>img_context_dim_in</strong> (<code>int</code>, <em>optional</em>) &#x2014;
The dimension of the input image context feature vector, i.e. it is the D in [B, N, D].`,name:"img_context_dim_in"},{anchor:"diffusers.CosmosTransformer3DModel.img_context_num_tokens",description:`<strong>img_context_num_tokens</strong> (<code>int</code>) &#x2014;
The number of tokens in the image context feature vector, i.e. it is the N in [B, N, D]. If
<code>img_context_dim_in</code> is not provided, then this parameter is ignored.`,name:"img_context_num_tokens"},{anchor:"diffusers.CosmosTransformer3DModel.img_context_dim_out",description:`<strong>img_context_dim_out</strong> (<code>int</code>) &#x2014;
The output dimension of the image context projection layer. If <code>img_context_dim_in</code> is not provided, then
this parameter is ignored.`,name:"img_context_dim_out"}],source:"https://github.com/huggingface/diffusers/blob/vr_13813/src/diffusers/models/transformers/transformer_cosmos.py#L554"}}),y=new se({props:{name:"forward",anchor:"diffusers.CosmosTransformer3DModel.forward",parameters:[{name:"hidden_states",val:": Tensor"},{name:"timestep",val:": Tensor"},{name:"encoder_hidden_states",val:": Tensor"},{name:"block_controlnet_hidden_states",val:": list[torch.Tensor] | None = None"},{name:"attention_mask",val:": torch.Tensor | None = None"},{name:"fps",val:": int | None = None"},{name:"condition_mask",val:": torch.Tensor | None = None"},{name:"padding_mask",val:": torch.Tensor | None = None"},{name:"return_dict",val:": bool = True"}],parametersDescription:[{anchor:"diffusers.CosmosTransformer3DModel.forward.hidden_states",description:`<strong>hidden_states</strong> (<code>torch.Tensor</code> of shape <code>(batch_size, num_channels, num_frames, height, width)</code>) &#x2014;
Input <code>hidden_states</code>.`,name:"hidden_states"},{anchor:"diffusers.CosmosTransformer3DModel.forward.timestep",description:`<strong>timestep</strong> (<code>torch.LongTensor</code>) &#x2014;
Used to indicate denoising step.`,name:"timestep"},{anchor:"diffusers.CosmosTransformer3DModel.forward.encoder_hidden_states",description:`<strong>encoder_hidden_states</strong> (<code>torch.Tensor</code> of shape <code>(batch_size, sequence_len, embed_dims)</code>) &#x2014;
Conditional embeddings (embeddings computed from the input conditions such as prompts) to use.`,name:"encoder_hidden_states"},{anchor:"diffusers.CosmosTransformer3DModel.forward.block_controlnet_hidden_states",description:`<strong>block_controlnet_hidden_states</strong> (<code>list</code> of <code>torch.Tensor</code>, <em>optional</em>) &#x2014;
A list of tensors that if specified are added to the residuals of transformer blocks.`,name:"block_controlnet_hidden_states"},{anchor:"diffusers.CosmosTransformer3DModel.forward.attention_mask",description:`<strong>attention_mask</strong> (<code>torch.Tensor</code>, <em>optional</em>) &#x2014;
Mask applied to <code>encoder_hidden_states</code> during attention.`,name:"attention_mask"},{anchor:"diffusers.CosmosTransformer3DModel.forward.fps",description:`<strong>fps</strong> (<code>int</code>, <em>optional</em>) &#x2014;
Frames per second of the input video used to compute the rotary positional embeddings.`,name:"fps"},{anchor:"diffusers.CosmosTransformer3DModel.forward.condition_mask",description:`<strong>condition_mask</strong> (<code>torch.Tensor</code>, <em>optional</em>) &#x2014;
Mask channel concatenated to <code>hidden_states</code> to indicate the conditioning region.`,name:"condition_mask"},{anchor:"diffusers.CosmosTransformer3DModel.forward.padding_mask",description:`<strong>padding_mask</strong> (<code>torch.Tensor</code>, <em>optional</em>) &#x2014;
Padding mask concatenated to <code>hidden_states</code> when <code>concat_padding_mask</code> is enabled.`,name:"padding_mask"},{anchor:"diffusers.CosmosTransformer3DModel.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 <code>~models.transformer_2d.Transformer2DModelOutput</code> instead of a plain
tuple.`,name:"return_dict"}],source:"https://github.com/huggingface/diffusers/blob/vr_13813/src/diffusers/models/transformers/transformer_cosmos.py#L688",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script>
<p>If <code>return_dict</code> is True, an <code>~models.transformer_2d.Transformer2DModelOutput</code> is returned, otherwise a
<code>tuple</code> where the first element is the sample tensor.</p>
`}}),w=new re({props:{title:"Transformer2DModelOutput",local:"diffusers.models.modeling_outputs.Transformer2DModelOutput",headingTag:"h2"}}),k=new se({props:{name:"class diffusers.models.modeling_outputs.Transformer2DModelOutput",anchor:"diffusers.models.modeling_outputs.Transformer2DModelOutput",parameters:[{name:"sample",val:": torch.Tensor"}],parametersDescription:[{anchor:"diffusers.models.modeling_outputs.Transformer2DModelOutput.sample",description:`<strong>sample</strong> (<code>torch.Tensor</code> of shape <code>(batch_size, num_channels, height, width)</code> or <code>(batch size, num_vector_embeds - 1, num_latent_pixels)</code> if <a href="/docs/diffusers/pr_13813/en/api/models/transformer2d#diffusers.Transformer2DModel">Transformer2DModel</a> is discrete) &#x2014;
The hidden states output conditioned on the <code>encoder_hidden_states</code> input. If discrete, returns probability
distributions for the unnoised latent pixels.`,name:"sample"}],source:"https://github.com/huggingface/diffusers/blob/vr_13813/src/diffusers/models/modeling_outputs.py#L21"}}),N=new ve({props:{source:"https://github.com/huggingface/diffusers/blob/main/docs/source/en/api/models/cosmos_transformer3d.md"}}),{c(){m=d("meta"),R=s(),Z=d("p"),V=s(),l(b.$$.fragment),W=s(),l(v.$$.fragment),O=s(),x=d("p"),x.innerHTML=de,U=s(),M=d("p"),M.textContent=ie,A=s(),l($.$$.fragment),S=s(),l(D.$$.fragment),q=s(),a=d("div"),l(C.$$.fragment),ee=s(),z=d("p"),z.innerHTML=me,oe=s(),T=d("div"),l(y.$$.fragment),te=s(),I=d("p"),I.innerHTML=ce,G=s(),l(w.$$.fragment),B=s(),c=d("div"),l(k.$$.fragment),ne=s(),L=d("p"),L.innerHTML=le,Q=s(),l(N.$$.fragment),F=s(),E=d("p"),this.h()},l(e){const o=ge("svelte-u9bgzb",document.head);m=i(o,"META",{name:!0,content:!0}),o.forEach(t),R=r(e),Z=i(e,"P",{}),H(Z).forEach(t),V=r(e),f(b.$$.fragment,e),W=r(e),f(v.$$.fragment,e),O=r(e),x=i(e,"P",{"data-svelte-h":!0}),j(x)!=="svelte-1pjw3fi"&&(x.innerHTML=de),U=r(e),M=i(e,"P",{"data-svelte-h":!0}),j(M)!=="svelte-1vuni30"&&(M.textContent=ie),A=r(e),f($.$$.fragment,e),S=r(e),f(D.$$.fragment,e),q=r(e),a=i(e,"DIV",{class:!0});var J=H(a);f(C.$$.fragment,J),ee=r(J),z=i(J,"P",{"data-svelte-h":!0}),j(z)!=="svelte-y8uhes"&&(z.innerHTML=me),oe=r(J),T=i(J,"DIV",{class:!0});var Y=H(T);f(y.$$.fragment,Y),te=r(Y),I=i(Y,"P",{"data-svelte-h":!0}),j(I)!=="svelte-t0038a"&&(I.innerHTML=ce),Y.forEach(t),J.forEach(t),G=r(e),f(w.$$.fragment,e),B=r(e),c=i(e,"DIV",{class:!0});var K=H(c);f(k.$$.fragment,K),ne=r(K),L=i(K,"P",{"data-svelte-h":!0}),j(L)!=="svelte-zeg0js"&&(L.innerHTML=le),K.forEach(t),Q=r(e),f(N.$$.fragment,e),F=r(e),E=i(e,"P",{}),H(E).forEach(t),this.h()},h(){P(m,"name","hf:doc:metadata"),P(m,"content",Me),P(T,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),P(a,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),P(c,"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){p(document.head,m),n(e,R,o),n(e,Z,o),n(e,V,o),u(b,e,o),n(e,W,o),u(v,e,o),n(e,O,o),n(e,x,o),n(e,U,o),n(e,M,o),n(e,A,o),u($,e,o),n(e,S,o),u(D,e,o),n(e,q,o),n(e,a,o),u(C,a,null),p(a,ee),p(a,z),p(a,oe),p(a,T),u(y,T,null),p(T,te),p(T,I),n(e,G,o),u(w,e,o),n(e,B,o),n(e,c,o),u(k,c,null),p(c,ne),p(c,L),n(e,Q,o),u(N,e,o),n(e,F,o),n(e,E,o),X=!0},p:pe,i(e){X||(_(b.$$.fragment,e),_(v.$$.fragment,e),_($.$$.fragment,e),_(D.$$.fragment,e),_(C.$$.fragment,e),_(y.$$.fragment,e),_(w.$$.fragment,e),_(k.$$.fragment,e),_(N.$$.fragment,e),X=!0)},o(e){h(b.$$.fragment,e),h(v.$$.fragment,e),h($.$$.fragment,e),h(D.$$.fragment,e),h(C.$$.fragment,e),h(y.$$.fragment,e),h(w.$$.fragment,e),h(k.$$.fragment,e),h(N.$$.fragment,e),X=!1},d(e){e&&(t(R),t(Z),t(V),t(W),t(O),t(x),t(U),t(M),t(A),t(S),t(q),t(a),t(G),t(B),t(c),t(Q),t(F),t(E)),t(m),g(b,e),g(v,e),g($,e),g(D,e),g(C),g(y),g(w,e),g(k),g(N,e)}}}const Me='{"title":"CosmosTransformer3DModel","local":"cosmostransformer3dmodel","sections":[{"title":"CosmosTransformer3DModel","local":"diffusers.CosmosTransformer3DModel","sections":[],"depth":2},{"title":"Transformer2DModelOutput","local":"diffusers.models.modeling_outputs.Transformer2DModelOutput","sections":[],"depth":2}],"depth":1}';function $e(ae){return ue(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class ze extends _e{constructor(m){super(),he(this,m,$e,xe,fe,{})}}export{ze as component};

Xet Storage Details

Size:
16.3 kB
·
Xet hash:
d8967947e16711812cd6f9868b31b419bbc5c9ab2bb5f9b7d26e57a6c15f8b11

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.