Buckets:

download
raw
21.9 kB
import"../chunks/DsnmJJEf.js";import{i as x,h as R,C as D,H as d,a as O,D as n,E as N,s as q}from"../chunks/BtE7mKSK.js";import{p as V,o as E,s as e,f as j,a as w,b as B,c as o,d as A,n as t,r}from"../chunks/jDjavuwI.js";const L='{"title":"AnyFlowFARTransformer3DModel","local":"anyflowfartransformer3dmodel","sections":[{"title":"AnyFlowFARTransformer3DModel","local":"diffusers.AnyFlowFARTransformer3DModel","sections":[],"depth":2},{"title":"AnyFlowFARTransformerOutput","local":"diffusers.models.transformers.transformer_anyflow_far.AnyFlowFARTransformerOutput","sections":[],"depth":2}],"depth":1}';var I=A('<meta name="hf:doc:metadata"/>'),z=A(`<p></p> <!> <!> <p>The causal (FAR) 3D Transformer used by <a href="../pipelines/anyflow#anyflowfarpipeline"><code>AnyFlowFARPipeline</code></a> —
the FAR variant of <a href="https://huggingface.co/papers/2605.13724" rel="nofollow">AnyFlow</a>. See the <a href="../pipelines/anyflow"><code>AnyFlowFARPipeline</code></a> page for paper, authors, and released checkpoints. It extends
the v0.35.1 Wan2.1 backbone with three additions:</p> <ol><li><strong>FAR causal block-mask</strong> via <code>torch.nn.attention.flex_attention</code>, supporting chunk-wise autoregressive
generation as introduced in <a href="https://huggingface.co/papers/2503.19325" rel="nofollow">FAR</a>.</li> <li><strong>Compressed-frame patch embedding</strong> (<code>far_patch_embedding</code>) for context (already-generated) frames,
warm-started from the full-resolution <code>patch_embedding</code> at construction time via trilinear interpolation.</li> <li><strong>Dual-timestep flow-map embedding</strong> (same as <a href="anyflow_transformer3d"><code>AnyFlowTransformer3DModel</code></a>) — every forward call conditions on both the source
timestep <code>t</code> and the target timestep <code>r</code>.</li></ol> <p>The default chunk schedule (<code>chunk_partition</code>) is stored in the model config; the released NVIDIA AnyFlow-FAR
checkpoints use <code>[1, 3, 3, 3, 3, 3, 3, 2]</code> for the canonical 81-frame setting. <code>forward</code> accepts a per-call <code>chunk_partition</code> override, so the same checkpoint also handles other <code>num_frames</code> configurations without
retraining.</p> <!> <!> <div class="docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"><!> <p>Causal (FAR) 3D Transformer for AnyFlow flow-map sampling with chunk-wise autoregressive generation.</p> <p>Extends the v0.35.1 Wan2.1 backbone with:</p> <ul><li><strong>FAR causal block-mask</strong> via <code>torch.nn.attention.flex_attention</code>, supporting chunk-wise autoregressive
generation (<a href="https://huggingface.co/papers/2503.19325" rel="nofollow">FAR</a>).</li> <li><strong>Compressed-frame patch embedding</strong> <code>far_patch_embedding</code> for context (already-generated) frames, initialized
from <code>patch_embedding</code> via trilinear interpolation so a freshly constructed model is already at a reasonable
starting point even before LoRA fine-tuning.</li> <li><strong>Dual-timestep flow-map embedding</strong> for any-step sampling (same as <code>AnyFlowTransformer3DModel</code>).</li></ul> <p>Use <code>AnyFlowTransformer3DModel</code> instead for plain bidirectional T2V — that variant skips the FAR causal masking
and <code>far_patch_embedding</code> and is ~5–10% smaller.</p> <div class="docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"><!> <p>Pre-build the causal <code>~torch.nn.attention.flex_attention.BlockMask</code> outside <code>forward</code>.</p> <p>Pass the result via <code>forward</code>’s <code>attention_mask</code> kwarg to make the whole transformer compatible with <code>torch.compile(fullgraph=True)</code>. Without a pre-built mask, <code>forward</code> falls back to constructing it
internally — that path uses <code>flex_attention.create_block_mask(_compile=False)</code> and breaks the compile graph.</p></div> <div class="docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"><!> <p>FAR causal forward pass. Dispatches to one of three internal paths:</p> <ul><li><code>kv_cache is None</code> → causal training rollout (returns <code>Transformer2DModelOutput</code>).</li> <li><code>kv_cache is not None</code> and <code>kv_cache_flag["is_cache_step"]</code> → cache-prefill (returns <code>AnyFlowFARTransformerOutput</code> with <code>sample=None</code>).</li> <li>Otherwise → autoregressive inference step (returns <code>AnyFlowFARTransformerOutput</code>).</li></ul></div></div> <!> <div class="docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"><!> <p>Output dataclass for <code>AnyFlowFARTransformer3DModel</code>’s causal forward paths.</p></div> <!> <p></p>`,1);function J(F,v){V(v,!1),E(()=>{new URLSearchParams(window.location.search).get("fw")}),x();var l=z();R("1n7gkeo",g=>{var y=I();q(y,"content",L),w(g,y)});var c=e(j(l),2);D(c,{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"});var m=e(c,2);d(m,{title:"AnyFlowFARTransformer3DModel",local:"anyflowfartransformer3dmodel",headingTag:"h1"});var f=e(m,8);O(f,{code:"ZnJvbSUyMGRpZmZ1c2VycyUyMGltcG9ydCUyMEFueUZsb3dGQVJUcmFuc2Zvcm1lcjNETW9kZWwlMEElMEElMjMlMjBDYXVzYWwlMjBBbnlGbG93JTIwY2hlY2twb2ludCUyMChGQVIpJTNBJTBBdHJhbnNmb3JtZXIlMjAlM0QlMjBBbnlGbG93RkFSVHJhbnNmb3JtZXIzRE1vZGVsLmZyb21fcHJldHJhaW5lZCglMEElMjAlMjAlMjAlMjAlMjJudmlkaWElMkZBbnlGbG93LUZBUi1XYW4yLjEtMS4zQi1EaWZmdXNlcnMlMjIlMkMlMjBzdWJmb2xkZXIlM0QlMjJ0cmFuc2Zvcm1lciUyMiUwQSk=",highlighted:`<span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> AnyFlowFARTransformer3DModel
<span class="hljs-comment"># Causal AnyFlow checkpoint (FAR):</span>
transformer = AnyFlowFARTransformer3DModel.from_pretrained(
<span class="hljs-string">&quot;nvidia/AnyFlow-FAR-Wan2.1-1.3B-Diffusers&quot;</span>, subfolder=<span class="hljs-string">&quot;transformer&quot;</span>
)`,lang:"python",wrap:!1});var p=e(f,2);d(p,{title:"AnyFlowFARTransformer3DModel",local:"diffusers.AnyFlowFARTransformer3DModel",headingTag:"h2"});var a=e(p,2),u=o(a);n(u,{name:"class diffusers.AnyFlowFARTransformer3DModel",anchor:"diffusers.AnyFlowFARTransformer3DModel",source:"https://github.com/huggingface/diffusers/blob/vr_14217/src/diffusers/models/transformers/transformer_anyflow_far.py#L961",parameters:[{name:"patch_size",val:": typing.Tuple[int] = (1, 2, 2)"},{name:"compressed_patch_size",val:": typing.Tuple[int] = (1, 4, 4)"},{name:"full_chunk_limit",val:": int = 3"},{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:"eps",val:": float = 1e-06"},{name:"image_dim",val:": typing.Optional[int] = None"},{name:"rope_max_seq_len",val:": int = 1024"},{name:"gate_value",val:": float = 0.25"},{name:"deltatime_type",val:": str = 'r'"},{name:"chunk_partition",val:": typing.Tuple[int, ...] = (1, 3, 3, 3, 3, 3, 3, 2)"}],parametersDescription:[{anchor:"diffusers.AnyFlowFARTransformer3DModel.patch_size",description:`<strong>patch_size</strong> (<em>Tuple[int]</em>, defaults to <em>(1, 2, 2)</em>) &#x2014;
3D patch dimensions for full-resolution chunks.`,name:"patch_size"},{anchor:"diffusers.AnyFlowFARTransformer3DModel.compressed_patch_size",description:`<strong>compressed_patch_size</strong> (<em>Tuple[int]</em>, defaults to <em>(1, 4, 4)</em>) &#x2014;
Larger patch dimensions for the FAR-compressed (context) chunks.`,name:"compressed_patch_size"},{anchor:"diffusers.AnyFlowFARTransformer3DModel.full_chunk_limit",description:`<strong>full_chunk_limit</strong> (<em>int</em>, defaults to <em>3</em>) &#x2014;
Maximum number of full-resolution chunks before earlier chunks are demoted to compressed FAR context. The
released checkpoints use <code>3</code>.`,name:"full_chunk_limit"},{anchor:"diffusers.AnyFlowFARTransformer3DModel.num_attention_heads",description:`<strong>num_attention_heads</strong> (<em>int</em>, defaults to <em>40</em>) &#x2014;
Number of attention heads.`,name:"num_attention_heads"},{anchor:"diffusers.AnyFlowFARTransformer3DModel.attention_head_dim",description:`<strong>attention_head_dim</strong> (<em>int</em>, defaults to <em>128</em>) &#x2014;
The number of channels in each head.`,name:"attention_head_dim"},{anchor:"diffusers.AnyFlowFARTransformer3DModel.in_channels",description:`<strong>in_channels</strong> (<em>int</em>, defaults to <em>16</em>) &#x2014;
The number of channels in the input latent.`,name:"in_channels"},{anchor:"diffusers.AnyFlowFARTransformer3DModel.out_channels",description:`<strong>out_channels</strong> (<em>int</em>, defaults to <em>16</em>) &#x2014;
The number of channels in the output latent.`,name:"out_channels"},{anchor:"diffusers.AnyFlowFARTransformer3DModel.text_dim",description:`<strong>text_dim</strong> (<em>int</em>, defaults to <em>4096</em>) &#x2014;
Input dimension for text embeddings (UMT5).`,name:"text_dim"},{anchor:"diffusers.AnyFlowFARTransformer3DModel.freq_dim",description:`<strong>freq_dim</strong> (<em>int</em>, defaults to <em>256</em>) &#x2014;
Dimension for sinusoidal time embeddings.`,name:"freq_dim"},{anchor:"diffusers.AnyFlowFARTransformer3DModel.ffn_dim",description:`<strong>ffn_dim</strong> (<em>int</em>, defaults to <em>13824</em>) &#x2014;
Intermediate dimension in feed-forward network.`,name:"ffn_dim"},{anchor:"diffusers.AnyFlowFARTransformer3DModel.num_layers",description:`<strong>num_layers</strong> (<em>int</em>, defaults to <em>40</em>) &#x2014;
Number of transformer blocks.`,name:"num_layers"},{anchor:"diffusers.AnyFlowFARTransformer3DModel.cross_attn_norm",description:`<strong>cross_attn_norm</strong> (<em>bool</em>, defaults to <em>True</em>) &#x2014;
Enable cross-attention normalization.`,name:"cross_attn_norm"},{anchor:"diffusers.AnyFlowFARTransformer3DModel.eps",description:`<strong>eps</strong> (<em>float</em>, defaults to <em>1e-6</em>) &#x2014;
Epsilon for normalization layers.`,name:"eps"},{anchor:"diffusers.AnyFlowFARTransformer3DModel.image_dim",description:`<strong>image_dim</strong> (<em>Optional[int]</em>, <em>optional</em>, defaults to <em>None</em>) &#x2014;
Image embedding dimension for I2V conditioning.`,name:"image_dim"},{anchor:"diffusers.AnyFlowFARTransformer3DModel.rope_max_seq_len",description:`<strong>rope_max_seq_len</strong> (<em>int</em>, defaults to <em>1024</em>) &#x2014;
Maximum sequence length used to precompute rotary position frequencies.`,name:"rope_max_seq_len"},{anchor:"diffusers.AnyFlowFARTransformer3DModel.gate_value",description:`<strong>gate_value</strong> (<em>float</em>, defaults to <em>0.25</em>) &#x2014;
Mixing gate between source-timestep and delta-timestep embeddings.`,name:"gate_value"},{anchor:"diffusers.AnyFlowFARTransformer3DModel.deltatime_type",description:`<strong>deltatime_type</strong> (<em>str</em>, defaults to <em>&#x2018;r&#x2019;</em>) &#x2014;
Either <code>&quot;r&quot;</code> (delta is the target timestep) or <code>&quot;t-r&quot;</code> (delta is the absolute interval).`,name:"deltatime_type"},{anchor:"diffusers.AnyFlowFARTransformer3DModel.chunk_partition",description:`<strong>chunk_partition</strong> (<em>Tuple[int, &#x2026;]</em>, defaults to <em>(1, 3, 3, 3, 3, 3, 3, 2)</em>) &#x2014;
Default per-chunk frame counts used by the pipeline. The released NVIDIA AnyFlow-FAR checkpoints target
<code>num_frames=81</code> (21 latent frames at VAE temporal stride 4) split as <code>1 + 3*6 + 2</code>. A different
<code>num_frames</code> requires a matching <code>chunk_partition</code> override passed to
<a href="/docs/diffusers/pr_14217/en/api/pipelines/anyflow#diffusers.AnyFlowFARPipeline.__call__">AnyFlowFARPipeline.<strong>call</strong>()</a> (and likewise to <code>forward</code>).`,name:"chunk_partition"}]});var s=e(u,10),b=o(s);n(b,{name:"build_attention_mask",anchor:"diffusers.AnyFlowFARTransformer3DModel.build_attention_mask",source:"https://github.com/huggingface/diffusers/blob/vr_14217/src/diffusers/models/transformers/transformer_anyflow_far.py#L1232",parameters:[{name:"chunk_partition",val:": typing.List[int]"},{name:"height",val:": int"},{name:"width",val:": int"},{name:"has_clean_context",val:": bool = False"},{name:"device",val:": typing.Optional[torch.device] = None"},{name:"mode",val:": str = 'train'"}],parametersDescription:[{anchor:"diffusers.AnyFlowFARTransformer3DModel.build_attention_mask.chunk_partition",description:"<strong>chunk_partition</strong> &#x2014; per-chunk frame counts (must sum to the number of latent frames).",name:"chunk_partition"},{anchor:"diffusers.AnyFlowFARTransformer3DModel.build_attention_mask.height,",description:"<strong>height,</strong> width &#x2014; latent spatial dimensions.",name:"height,"},{anchor:"diffusers.AnyFlowFARTransformer3DModel.build_attention_mask.has_clean_context",description:`<strong>has_clean_context</strong> &#x2014; <code>True</code> when <code>clean_hidden_states</code> will be threaded through <code>forward</code>
(training V2V/I2V); only this presence flag affects the mask layout.`,name:"has_clean_context"},{anchor:"diffusers.AnyFlowFARTransformer3DModel.build_attention_mask.device",description:`<strong>device</strong> &#x2014; device for the resulting <code>BlockMask</code>. The mask is not auto-moved by
<code>device_map=&quot;auto&quot;</code>; build it on the same device the transformer&#x2019;s inputs will live on.`,name:"device"},{anchor:"diffusers.AnyFlowFARTransformer3DModel.build_attention_mask.mode",description:`<strong>mode</strong> &#x2014; <code>&quot;train&quot;</code> (matches <code>_forward_train</code>) or <code>&quot;cache&quot;</code> (matches <code>_forward_cache</code>).
The autoregressive <code>_forward_inference</code> path attends through the KV cache and has no mode here.`,name:"mode"}],returnDescription:`<script context="module">export const metadata = 'undefined';<\/script>
<p>causal mask spanning the FAR layout, padded to a
multiple of 128 along the sequence dimension (the BlockMask block-size requirement).</p>
`,returnType:`<script context="module">export const metadata = 'undefined';<\/script>
<p><code>~torch.nn.attention.flex_attention.BlockMask</code></p>
`,raiseDescription:`<script context="module">export const metadata = 'undefined';<\/script>
<ul>
<li><code>ValueError</code> — if <code>mode</code> is neither <code>"train"</code> nor <code>"cache"</code>.</li>
</ul>
`,raiseType:`<script context="module">export const metadata = 'undefined';<\/script>
<p><code>ValueError</code></p>
`}),t(4),r(s);var h=e(s,2),k=o(h);n(k,{name:"forward",anchor:"diffusers.AnyFlowFARTransformer3DModel.forward",source:"https://github.com/huggingface/diffusers/blob/vr_14217/src/diffusers/models/transformers/transformer_anyflow_far.py#L1098",parameters:[{name:"hidden_states",val:": Tensor"},{name:"timestep",val:": Tensor"},{name:"r_timestep",val:": Tensor"},{name:"encoder_hidden_states",val:": Tensor"},{name:"chunk_partition",val:": typing.List[int]"},{name:"encoder_hidden_states_image",val:": typing.Optional[torch.Tensor] = None"},{name:"clean_hidden_states",val:": typing.Optional[torch.Tensor] = None"},{name:"clean_timestep",val:": typing.Optional[torch.Tensor] = None"},{name:"kv_cache",val:": typing.Optional[typing.List[typing.Dict[str, torch.Tensor]]] = None"},{name:"kv_cache_flag",val:": typing.Optional[typing.Dict[str, typing.Any]] = None"},{name:"attention_mask",val:": typing.Optional[torch.nn.attention.flex_attention.BlockMask] = None"},{name:"attention_kwargs",val:": typing.Optional[typing.Dict[str, typing.Any]] = None"},{name:"return_dict",val:": bool = True"}],parametersDescription:[{anchor:"diffusers.AnyFlowFARTransformer3DModel.forward.hidden_states",description:`<strong>hidden_states</strong> (<em>torch.Tensor</em>) &#x2014;
Latent input of shape <code>(B, F, C, H, W)</code>.`,name:"hidden_states"},{anchor:"diffusers.AnyFlowFARTransformer3DModel.forward.timestep",description:`<strong>timestep</strong> (<em>torch.Tensor</em>) &#x2014;
Source (noisier) flow-map timestep <em>t</em>.`,name:"timestep"},{anchor:"diffusers.AnyFlowFARTransformer3DModel.forward.r_timestep",description:`<strong>r_timestep</strong> (<em>torch.Tensor</em>) &#x2014;
Target (cleaner) flow-map timestep <em>r</em>.`,name:"r_timestep"},{anchor:"diffusers.AnyFlowFARTransformer3DModel.forward.encoder_hidden_states",description:`<strong>encoder_hidden_states</strong> (<em>torch.Tensor</em>) &#x2014;
UMT5 text embeddings.`,name:"encoder_hidden_states"},{anchor:"diffusers.AnyFlowFARTransformer3DModel.forward.chunk_partition",description:`<strong>chunk_partition</strong> (<em>List[int]</em>) &#x2014;
Per-chunk frame counts; total must match the number of latent frames in <code>hidden_states</code>.`,name:"chunk_partition"},{anchor:"diffusers.AnyFlowFARTransformer3DModel.forward.encoder_hidden_states_image",description:`<strong>encoder_hidden_states_image</strong> (<em>torch.Tensor</em>, <em>optional</em>) &#x2014;
I2V image embedding; concatenated before text tokens when provided.`,name:"encoder_hidden_states_image"},{anchor:"diffusers.AnyFlowFARTransformer3DModel.forward.clean_hidden_states",description:`<strong>clean_hidden_states</strong> (<em>torch.Tensor</em>, <em>optional</em>) &#x2014;
Clean (noise-free) conditioning frames used by the training rollout.`,name:"clean_hidden_states"},{anchor:"diffusers.AnyFlowFARTransformer3DModel.forward.clean_timestep",description:`<strong>clean_timestep</strong> (<em>torch.Tensor</em>, <em>optional</em>) &#x2014;
Timesteps for the clean conditioning frames in the training rollout.`,name:"clean_timestep"},{anchor:"diffusers.AnyFlowFARTransformer3DModel.forward.kv_cache",description:`<strong>kv_cache</strong> (<em>List[Dict[str, torch.Tensor]]</em>, <em>optional</em>) &#x2014;
Per-block KV cache for autoregressive inference. <em>None</em> selects the training path.`,name:"kv_cache"},{anchor:"diffusers.AnyFlowFARTransformer3DModel.forward.kv_cache_flag",description:`<strong>kv_cache_flag</strong> (<em>Dict[str, Any]</em>, <em>optional</em>) &#x2014;
KV-cache metadata (e.g. <code>is_cache_step</code> flag and token counts).`,name:"kv_cache_flag"},{anchor:"diffusers.AnyFlowFARTransformer3DModel.forward.attention_mask",description:`<strong>attention_mask</strong> (<em>BlockMask</em>, <em>optional</em>) &#x2014;
Pre-built causal mask, typically constructed via <code>build_attention_mask</code>. Consumed by the train
and KV-cache prefill paths; the autoregressive inference path attends through the KV cache and does not
use a full mask. When <code>None</code>, the train / cache paths build the mask internally; that fallback is not
compile-safe (the underlying <code>flex_attention.create_block_mask</code> breaks the graph under
<code>fullgraph=True</code>), so pass a pre-built mask whenever wrapping <code>forward</code> in <code>torch.compile</code>.`,name:"attention_mask"},{anchor:"diffusers.AnyFlowFARTransformer3DModel.forward.attention_kwargs",description:`<strong>attention_kwargs</strong> (<em>dict</em>, <em>optional</em>) &#x2014;
Forwarded to the attention processors.`,name:"attention_kwargs"},{anchor:"diffusers.AnyFlowFARTransformer3DModel.forward.return_dict",description:`<strong>return_dict</strong> (<em>bool</em>, <em>optional</em>, defaults to <em>True</em>) &#x2014;
If <em>False</em>, returns positional tuples instead of an output dataclass.`,name:"return_dict"}],returnDescription:`<script context="module">export const metadata = 'undefined';<\/script>
<p>When <em>return_dict</em> is <em>False</em>, a plain <em>tuple</em> is returned. Otherwise, the causal training rollout
(<em>kv_cache is None</em>) returns a [<em>~models.transformer_2d.Transformer2DModelOutput</em>], while the
cache-prefill and autoregressive inference paths return an [<em>AnyFlowFARTransformerOutput</em>].</p>
`,returnType:`<script context="module">export const metadata = 'undefined';<\/script>
<p>[<em>~models.transformer_2d.Transformer2DModelOutput</em>], [<em>AnyFlowFARTransformerOutput</em>] or <em>tuple</em></p>
`}),t(4),r(h),r(a);var _=e(a,2);d(_,{title:"AnyFlowFARTransformerOutput",local:"diffusers.models.transformers.transformer_anyflow_far.AnyFlowFARTransformerOutput",headingTag:"h2"});var i=e(_,2),T=o(i);n(T,{name:"class diffusers.models.transformers.transformer_anyflow_far.AnyFlowFARTransformerOutput",anchor:"diffusers.models.transformers.transformer_anyflow_far.AnyFlowFARTransformerOutput",source:"https://github.com/huggingface/diffusers/blob/vr_14217/src/diffusers/models/transformers/transformer_anyflow_far.py#L55",parameters:[{name:"sample",val:": typing.Optional[torch.Tensor] = None"},{name:"kv_cache",val:": typing.Optional[typing.List[typing.Dict[str, torch.Tensor]]] = None"}],parametersDescription:[{anchor:"diffusers.models.transformers.transformer_anyflow_far.AnyFlowFARTransformerOutput.sample",description:`<strong>sample</strong> (<em>torch.Tensor</em> or <em>None</em>) &#x2014;
Predicted denoising target for the autoregressive chunk. <code>None</code> for the cache-prefill path, which only
writes the KV cache and produces no usable sample.`,name:"sample"},{anchor:"diffusers.models.transformers.transformer_anyflow_far.AnyFlowFARTransformerOutput.kv_cache",description:`<strong>kv_cache</strong> (<em>list[dict[str, torch.Tensor]]</em>, <em>optional</em>) &#x2014;
Per-block KV cache state used by subsequent autoregressive steps.`,name:"kv_cache"}]}),t(2),r(i);var M=e(i,2);N(M,{source:"https://github.com/huggingface/diffusers/blob/main/docs/source/en/api/models/anyflow_far_transformer3d.md"}),t(2),w(F,l),B()}export{J as component};

Xet Storage Details

Size:
21.9 kB
·
Xet hash:
ba48bb28bb9b39cb620f938327bb09fba3d08a7b7bc57f0422cb779e3c815fc6

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