Buckets:
| import{s as he,n as _e,o as ge}from"../chunks/scheduler.53228c21.js";import{S as Te,i as be,e as d,s as r,c as f,h as ve,a,d as t,b as s,f as H,g as c,j as R,k as I,l as u,m as n,n as p,t as h,o as _,p as g}from"../chunks/index.cac5d66a.js";import{C as $e}from"../chunks/CopyLLMTxtMenu.0ef49226.js";import{D as de}from"../chunks/Docstring.9de32ff4.js";import{C as Me}from"../chunks/CodeBlock.606cbaf4.js";import{H as ae,E as ye}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.48d5cb47.js";function Ce(ie){let m,V,j,W,b,O,v,P,$,me='A Diffusion Transformer model for 3D video-like data from <a href="https://huggingface.co/papers/2510.04290" rel="nofollow">ChronoEdit: Towards Temporal Reasoning for Image Editing and World Simulation</a> from NVIDIA and University of Toronto, by Jay Zhangjie Wu, Xuanchi Ren, Tianchang Shen, Tianshi Cao, Kai He, Yifan Lu, Ruiyuan Gao, Enze Xie, Shiyi Lan, Jose M. Alvarez, Jun Gao, Sanja Fidler, Zian Wang, Huan Ling.',J,M,le="<p><strong>TL;DR:</strong> ChronoEdit reframes image editing as a video generation task, using input and edited images as start/end frames to leverage pretrained video models with temporal consistency. A temporal reasoning stage introduces reasoning tokens to ensure physically plausible edits and visualize the editing trajectory.</p>",S,y,fe="The model can be loaded with the following code snippet.",A,C,G,D,F,i,E,te,L,ce="A Transformer model for video-like data used in the ChronoEdit model.",ne,T,x,re,N,ue='The <a href="/docs/diffusers/pr_13921/en/api/models/chronoedit_transformer_3d#diffusers.ChronoEditTransformer3DModel">ChronoEditTransformer3DModel</a> forward method.',X,w,Y,l,k,se,U,pe='The output of <a href="/docs/diffusers/pr_13921/en/api/models/transformer2d#diffusers.Transformer2DModel">Transformer2DModel</a>.',Q,z,B,Z,K;return b=new $e({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),v=new ae({props:{title:"ChronoEditTransformer3DModel",local:"chronoedittransformer3dmodel",headingTag:"h1"}}),C=new Me({props:{code:"ZnJvbSUyMGRpZmZ1c2VycyUyMGltcG9ydCUyMENocm9ub0VkaXRUcmFuc2Zvcm1lcjNETW9kZWwlMEElMEF0cmFuc2Zvcm1lciUyMCUzRCUyMENocm9ub0VkaXRUcmFuc2Zvcm1lcjNETW9kZWwuZnJvbV9wcmV0cmFpbmVkKCUyMm52aWRpYSUyRkNocm9ub0VkaXQtMTRCLURpZmZ1c2VycyUyMiUyQyUyMHN1YmZvbGRlciUzRCUyMnRyYW5zZm9ybWVyJTIyJTJDJTIwdG9yY2hfZHR5cGUlM0R0b3JjaC5iZmxvYXQxNik=",highlighted:`<span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> ChronoEditTransformer3DModel | |
| transformer = ChronoEditTransformer3DModel.from_pretrained(<span class="hljs-string">"nvidia/ChronoEdit-14B-Diffusers"</span>, subfolder=<span class="hljs-string">"transformer"</span>, torch_dtype=torch.bfloat16)`,lang:"python",wrap:!1}}),D=new ae({props:{title:"ChronoEditTransformer3DModel",local:"diffusers.ChronoEditTransformer3DModel",headingTag:"h2"}}),E=new de({props:{name:"class diffusers.ChronoEditTransformer3DModel",anchor:"diffusers.ChronoEditTransformer3DModel",parameters:[{name:"patch_size",val:": tuple = (1, 2, 2)"},{name:"num_attention_heads",val:": int = 40"},{name:"attention_head_dim",val:": int = 128"},{name:"in_channels",val:": int = 16"},{name:"out_channels",val:": int = 16"},{name:"text_dim",val:": int = 4096"},{name:"freq_dim",val:": int = 256"},{name:"ffn_dim",val:": int = 13824"},{name:"num_layers",val:": int = 40"},{name:"cross_attn_norm",val:": bool = True"},{name:"qk_norm",val:": str | None = 'rms_norm_across_heads'"},{name:"eps",val:": float = 1e-06"},{name:"image_dim",val:": int | None = None"},{name:"added_kv_proj_dim",val:": int | None = None"},{name:"rope_max_seq_len",val:": int = 1024"},{name:"pos_embed_seq_len",val:": int | None = None"},{name:"rope_temporal_skip_len",val:": int = 8"}],parametersDescription:[{anchor:"diffusers.ChronoEditTransformer3DModel.patch_size",description:`<strong>patch_size</strong> (<code>tuple[int]</code>, defaults to <code>(1, 2, 2)</code>) — | |
| 3D patch dimensions for video embedding (t_patch, h_patch, w_patch).`,name:"patch_size"},{anchor:"diffusers.ChronoEditTransformer3DModel.num_attention_heads",description:`<strong>num_attention_heads</strong> (<code>int</code>, defaults to <code>40</code>) — | |
| Fixed length for text embeddings.`,name:"num_attention_heads"},{anchor:"diffusers.ChronoEditTransformer3DModel.attention_head_dim",description:`<strong>attention_head_dim</strong> (<code>int</code>, defaults to <code>128</code>) — | |
| The number of channels in each head.`,name:"attention_head_dim"},{anchor:"diffusers.ChronoEditTransformer3DModel.in_channels",description:`<strong>in_channels</strong> (<code>int</code>, defaults to <code>16</code>) — | |
| The number of channels in the input.`,name:"in_channels"},{anchor:"diffusers.ChronoEditTransformer3DModel.out_channels",description:`<strong>out_channels</strong> (<code>int</code>, defaults to <code>16</code>) — | |
| The number of channels in the output.`,name:"out_channels"},{anchor:"diffusers.ChronoEditTransformer3DModel.text_dim",description:`<strong>text_dim</strong> (<code>int</code>, defaults to <code>512</code>) — | |
| Input dimension for text embeddings.`,name:"text_dim"},{anchor:"diffusers.ChronoEditTransformer3DModel.freq_dim",description:`<strong>freq_dim</strong> (<code>int</code>, defaults to <code>256</code>) — | |
| Dimension for sinusoidal time embeddings.`,name:"freq_dim"},{anchor:"diffusers.ChronoEditTransformer3DModel.ffn_dim",description:`<strong>ffn_dim</strong> (<code>int</code>, defaults to <code>13824</code>) — | |
| Intermediate dimension in feed-forward network.`,name:"ffn_dim"},{anchor:"diffusers.ChronoEditTransformer3DModel.num_layers",description:`<strong>num_layers</strong> (<code>int</code>, defaults to <code>40</code>) — | |
| The number of layers of transformer blocks to use.`,name:"num_layers"},{anchor:"diffusers.ChronoEditTransformer3DModel.window_size",description:`<strong>window_size</strong> (<code>tuple[int]</code>, defaults to <code>(-1, -1)</code>) — | |
| Window size for local attention (-1 indicates global attention).`,name:"window_size"},{anchor:"diffusers.ChronoEditTransformer3DModel.cross_attn_norm",description:`<strong>cross_attn_norm</strong> (<code>bool</code>, defaults to <code>True</code>) — | |
| Enable cross-attention normalization.`,name:"cross_attn_norm"},{anchor:"diffusers.ChronoEditTransformer3DModel.qk_norm",description:`<strong>qk_norm</strong> (<code>bool</code>, defaults to <code>True</code>) — | |
| Enable query/key normalization.`,name:"qk_norm"},{anchor:"diffusers.ChronoEditTransformer3DModel.eps",description:`<strong>eps</strong> (<code>float</code>, defaults to <code>1e-6</code>) — | |
| Epsilon value for normalization layers.`,name:"eps"},{anchor:"diffusers.ChronoEditTransformer3DModel.add_img_emb",description:`<strong>add_img_emb</strong> (<code>bool</code>, defaults to <code>False</code>) — | |
| Whether to use img_emb.`,name:"add_img_emb"},{anchor:"diffusers.ChronoEditTransformer3DModel.added_kv_proj_dim",description:`<strong>added_kv_proj_dim</strong> (<code>int</code>, <em>optional</em>, defaults to <code>None</code>) — | |
| The number of channels to use for the added key and value projections. If <code>None</code>, no projection is used.`,name:"added_kv_proj_dim"}],source:"https://github.com/huggingface/diffusers/blob/vr_13921/src/diffusers/models/transformers/transformer_chronoedit.py#L523"}}),x=new de({props:{name:"forward",anchor:"diffusers.ChronoEditTransformer3DModel.forward",parameters:[{name:"hidden_states",val:": Tensor"},{name:"timestep",val:": LongTensor"},{name:"encoder_hidden_states",val:": Tensor"},{name:"encoder_hidden_states_image",val:": torch.Tensor | None = None"},{name:"return_dict",val:": bool = True"},{name:"attention_kwargs",val:": dict[str, typing.Any] | None = None"}],parametersDescription:[{anchor:"diffusers.ChronoEditTransformer3DModel.forward.hidden_states",description:`<strong>hidden_states</strong> (<code>torch.Tensor</code> of shape <code>(batch_size, num_channels, num_frames, height, width)</code>) — | |
| Input <code>hidden_states</code>.`,name:"hidden_states"},{anchor:"diffusers.ChronoEditTransformer3DModel.forward.timestep",description:`<strong>timestep</strong> (<code>torch.LongTensor</code>) — | |
| Used to indicate denoising step.`,name:"timestep"},{anchor:"diffusers.ChronoEditTransformer3DModel.forward.encoder_hidden_states",description:`<strong>encoder_hidden_states</strong> (<code>torch.Tensor</code> of shape <code>(batch_size, sequence_len, embed_dims)</code>) — | |
| Conditional embeddings (embeddings computed from the input conditions such as prompts) to use.`,name:"encoder_hidden_states"},{anchor:"diffusers.ChronoEditTransformer3DModel.forward.encoder_hidden_states_image",description:`<strong>encoder_hidden_states_image</strong> (<code>torch.Tensor</code>, <em>optional</em>) — | |
| Conditional image embeddings for image-conditioned generation.`,name:"encoder_hidden_states_image"},{anchor:"diffusers.ChronoEditTransformer3DModel.forward.return_dict",description:`<strong>return_dict</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>True</code>) — | |
| Whether or not to return a <code>~models.transformer_2d.Transformer2DModelOutput</code> instead of a plain | |
| tuple.`,name:"return_dict"},{anchor:"diffusers.ChronoEditTransformer3DModel.forward.attention_kwargs",description:`<strong>attention_kwargs</strong> (<code>dict</code>, <em>optional</em>) — | |
| 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:"attention_kwargs"}],source:"https://github.com/huggingface/diffusers/blob/vr_13921/src/diffusers/models/transformers/transformer_chronoedit.py#L644",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 ae({props:{title:"Transformer2DModelOutput",local:"diffusers.models.modeling_outputs.Transformer2DModelOutput",headingTag:"h2"}}),k=new de({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_13921/en/api/models/transformer2d#diffusers.Transformer2DModel">Transformer2DModel</a> is discrete) — | |
| 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_13921/src/diffusers/models/modeling_outputs.py#L21"}}),z=new ye({props:{source:"https://github.com/huggingface/diffusers/blob/main/docs/source/en/api/models/chronoedit_transformer_3d.md"}}),{c(){m=d("meta"),V=r(),j=d("p"),W=r(),f(b.$$.fragment),O=r(),f(v.$$.fragment),P=r(),$=d("p"),$.innerHTML=me,J=r(),M=d("blockquote"),M.innerHTML=le,S=r(),y=d("p"),y.textContent=fe,A=r(),f(C.$$.fragment),G=r(),f(D.$$.fragment),F=r(),i=d("div"),f(E.$$.fragment),te=r(),L=d("p"),L.textContent=ce,ne=r(),T=d("div"),f(x.$$.fragment),re=r(),N=d("p"),N.innerHTML=ue,X=r(),f(w.$$.fragment),Y=r(),l=d("div"),f(k.$$.fragment),se=r(),U=d("p"),U.innerHTML=pe,Q=r(),f(z.$$.fragment),B=r(),Z=d("p"),this.h()},l(e){const o=ve("svelte-u9bgzb",document.head);m=a(o,"META",{name:!0,content:!0}),o.forEach(t),V=s(e),j=a(e,"P",{}),H(j).forEach(t),W=s(e),c(b.$$.fragment,e),O=s(e),c(v.$$.fragment,e),P=s(e),$=a(e,"P",{"data-svelte-h":!0}),R($)!=="svelte-ty5qbi"&&($.innerHTML=me),J=s(e),M=a(e,"BLOCKQUOTE",{"data-svelte-h":!0}),R(M)!=="svelte-1yp7b2h"&&(M.innerHTML=le),S=s(e),y=a(e,"P",{"data-svelte-h":!0}),R(y)!=="svelte-1vuni30"&&(y.textContent=fe),A=s(e),c(C.$$.fragment,e),G=s(e),c(D.$$.fragment,e),F=s(e),i=a(e,"DIV",{class:!0});var q=H(i);c(E.$$.fragment,q),te=s(q),L=a(q,"P",{"data-svelte-h":!0}),R(L)!=="svelte-vzcuve"&&(L.textContent=ce),ne=s(q),T=a(q,"DIV",{class:!0});var ee=H(T);c(x.$$.fragment,ee),re=s(ee),N=a(ee,"P",{"data-svelte-h":!0}),R(N)!=="svelte-yk7000"&&(N.innerHTML=ue),ee.forEach(t),q.forEach(t),X=s(e),c(w.$$.fragment,e),Y=s(e),l=a(e,"DIV",{class:!0});var oe=H(l);c(k.$$.fragment,oe),se=s(oe),U=a(oe,"P",{"data-svelte-h":!0}),R(U)!=="svelte-2clpd6"&&(U.innerHTML=pe),oe.forEach(t),Q=s(e),c(z.$$.fragment,e),B=s(e),Z=a(e,"P",{}),H(Z).forEach(t),this.h()},h(){I(m,"name","hf:doc:metadata"),I(m,"content",De),I(T,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),I(i,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),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")},m(e,o){u(document.head,m),n(e,V,o),n(e,j,o),n(e,W,o),p(b,e,o),n(e,O,o),p(v,e,o),n(e,P,o),n(e,$,o),n(e,J,o),n(e,M,o),n(e,S,o),n(e,y,o),n(e,A,o),p(C,e,o),n(e,G,o),p(D,e,o),n(e,F,o),n(e,i,o),p(E,i,null),u(i,te),u(i,L),u(i,ne),u(i,T),p(x,T,null),u(T,re),u(T,N),n(e,X,o),p(w,e,o),n(e,Y,o),n(e,l,o),p(k,l,null),u(l,se),u(l,U),n(e,Q,o),p(z,e,o),n(e,B,o),n(e,Z,o),K=!0},p:_e,i(e){K||(h(b.$$.fragment,e),h(v.$$.fragment,e),h(C.$$.fragment,e),h(D.$$.fragment,e),h(E.$$.fragment,e),h(x.$$.fragment,e),h(w.$$.fragment,e),h(k.$$.fragment,e),h(z.$$.fragment,e),K=!0)},o(e){_(b.$$.fragment,e),_(v.$$.fragment,e),_(C.$$.fragment,e),_(D.$$.fragment,e),_(E.$$.fragment,e),_(x.$$.fragment,e),_(w.$$.fragment,e),_(k.$$.fragment,e),_(z.$$.fragment,e),K=!1},d(e){e&&(t(V),t(j),t(W),t(O),t(P),t($),t(J),t(M),t(S),t(y),t(A),t(G),t(F),t(i),t(X),t(Y),t(l),t(Q),t(B),t(Z)),t(m),g(b,e),g(v,e),g(C,e),g(D,e),g(E),g(x),g(w,e),g(k),g(z,e)}}}const De='{"title":"ChronoEditTransformer3DModel","local":"chronoedittransformer3dmodel","sections":[{"title":"ChronoEditTransformer3DModel","local":"diffusers.ChronoEditTransformer3DModel","sections":[],"depth":2},{"title":"Transformer2DModelOutput","local":"diffusers.models.modeling_outputs.Transformer2DModelOutput","sections":[],"depth":2}],"depth":1}';function Ee(ie){return ge(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Ue extends Te{constructor(m){super(),be(this,m,Ee,Ce,he,{})}}export{Ue as component}; | |
Xet Storage Details
- Size:
- 14.8 kB
- Xet hash:
- 6d45eae8d93933bf6b5b3ab8e2afdc4342dfe51b407900a77e66c49c63e629c2
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.