Buckets:
| # AnyFlowTransformer3DModel | |
| Transformer 3D hai chiều được sử dụng bởi [`AnyFlowPipeline`](../pipelines/anyflow#diffusers.AnyFlowPipeline). Đây là backbone Wan2.1 phiên bản v0.35.1 với một thay đổi cấu trúc: bộ nhúng bước thời gian được thay thế bằng ``AnyFlowDualTimestepTextImageEmbedding``, do đó mỗi lần gọi forward đều điều kiện hóa trên cả bước thời gian nguồn ``t`` và bước thời gian đích ``r``. Đây là phép nhúng cần thiết để học bản đồ dòng chảy $\Phi_{r\leftarrow t}$ được giới thiệu trong [AnyFlow](https://huggingface.co/papers/2605.13724). Xem trang [`AnyFlowPipeline`](../pipelines/anyflow) để biết thêm về bài báo, tác giả và các checkpoint đã phát hành. | |
| Để tạo nội dung tự hồi quy theo từng khối (FAR causal), hãy sử dụng [`AnyFlowFARTransformer3DModel`](anyflow_far_transformer3d) thay thế. | |
| ```python | |
| from diffusers import AnyFlowTransformer3DModel | |
| # Bidirectional AnyFlow checkpoint (T2V): | |
| transformer = AnyFlowTransformer3DModel.from_pretrained( | |
| "nvidia/AnyFlow-Wan2.1-T2V-1.3B-Diffusers", subfolder="transformer" | |
| ) | |
| ``` | |
| ## AnyFlowTransformer3DModel[[diffusers.AnyFlowTransformer3DModel]] | |
| #### diffusers.AnyFlowTransformer3DModel[[diffusers.AnyFlowTransformer3DModel]] | |
| ```python | |
| diffusers.AnyFlowTransformer3DModel(patch_size: typing.Tuple[int] = (1, 2, 2), num_attention_heads: int = 40, attention_head_dim: int = 128, in_channels: int = 16, out_channels: int = 16, text_dim: int = 4096, freq_dim: int = 256, ffn_dim: int = 13824, num_layers: int = 40, cross_attn_norm: bool = True, eps: float = 1e-06, image_dim: typing.Optional[int] = None, rope_max_seq_len: int = 1024, gate_value: float = 0.25, deltatime_type: str = 'r') | |
| ``` | |
| [Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_anyflow.py#L507) | |
| **Tham số:** | |
| patch_size (*Tuple[int]*, mặc định là *(1, 2, 2)*) : Kích thước patch 3D cho nhúng video (t_patch, h_patch, w_patch). | |
| num_attention_heads (*int*, mặc định là *40*) : Số lượng đầu chú ý. | |
| attention_head_dim (*int*, mặc định là *128*) : Số lượng kênh trong mỗi head. | |
| in_channels (*int*, mặc định là *16*) : Số kênh trong latent đầu vào. | |
| out_channels (*int*, mặc định là *16*) : Số lượng kênh trong latent đầu ra. | |
| text_dim (*int*, mặc định là *4096*) : Kích thước chiều đầu vào cho nhúng văn bản (UMT5). | |
| freq_dim (*int*, mặc định là *256*) : Kích thước cho các nhúng thời gian hình sin. | |
| ffn_dim (*int*, mặc định là *13824*) : Kích thước chiều trung gian trong mạng feed-forward. | |
| num_layers (*int*, mặc định là *40*) : Số lượng khối transformer. | |
| cross_attn_norm (*bool*, mặc định là *True*) : Bật chuẩn hóa cross-attention. | |
| eps (*float*, mặc định là *1e-6*) : Epsilon cho các lớp chuẩn hóa. | |
| image_dim (*Optional[int]*, *optional*, mặc định là *None*) : Kích thước embedding ảnh cho điều kiện I2V (*1280* cho mô hình Wan2.1-I2V gốc). | |
| rope_max_seq_len (*int*, mặc định là *1024*) : Độ dài chuỗi tối đa được sử dụng để tiền xử lý tần số vị trí quay (rotary position frequencies). | |
| gate_value (*float*, mặc định là *0.25*) : Cổng trộn giữa các embedding của bước nguồn và bước delta (tham số \\(g\\) trong bài báo AnyFlow, được cố định ở 0.25 trong giai đoạn 1 của quá trình chưng cất). | |
| deltatime_type (*str*, mặc định là *'r'*) : Hoặc là `"r"` (delta là bước thời gian đích) hoặc `"t-r"` (delta là khoảng tuyệt đối). | |
| Transformer 3D hai chiều cho lấy mẫu flow-map của AnyFlow. | |
| Kiến trúc là khung xương v0.35.1 Wan2.1 3D DiT với một thay đổi cấu trúc: bộ nhúng bước thời gian được thay thế bằng `AnyFlowDualTimestepTextImageEmbedding` để mỗi lần gọi forward đều điều kiện hóa trên cả bước thời gian nguồn `t` và bước thời gian đích `r`. Đây là phép nhúng cần thiết để học bản đồ dòng \\(\Phi_{r\leftarrow t}\\) được giới thiệu trong [AnyFlow](https://huggingface.co/papers/2605.13724). | |
| Để tạo nội dung theo kiểu tự hồi quy từng khối (FAR causal), hãy dùng `AnyFlowFARTransformer3DModel` thay thế; biến thể này bổ sung khối mask nhân quả FAR và nhúng patch khung nén trên cùng một backbone. | |
| #### forward[[diffusers.AnyFlowTransformer3DModel.forward]] | |
| ```python | |
| forward(hidden_states: Tensor, timestep: Tensor, r_timestep: Tensor, encoder_hidden_states: Tensor, encoder_hidden_states_image: typing.Optional[torch.Tensor] = None, attention_kwargs: typing.Optional[typing.Dict[str, typing.Any]] = None, return_dict: bool = True) | |
| ``` | |
| [Nguồn](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_anyflow.py#L626) | |
| **Tham số:** | |
| hidden_states (*torch.Tensor* có hình dạng *(batch_size, num_frames, num_channels, height, width)*) : Latent của video đầu vào. | |
| timestep (*torch.Tensor*) : Bước thời gian *t* của bản đồ luồng nguồn (nhiễu hơn). | |
| r_timestep (*torch.Tensor*) : Bước thời gian (timestep) *r* của flow-map đích (cleaner); xác định điểm đến của bước flow-map. | |
| encoder_hidden_states (*torch.Tensor* có hình dạng *(batch_size, sequence_len, embed_dims)*) : Các embedding điều kiện văn bản. | |
| encoder_hidden_states_image (*torch.Tensor*, *optional*) : Các embedding điều kiện theo ảnh; được nối trước các token văn bản khi được cung cấp. | |
| attention_kwargs (*dict*, *optional*) : Các tham số kwargs được chuyển tiếp đến *AttentionProcessor* như đã định nghĩa dưới *self.processor* trong [diffusers.models.attention_processor](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py). | |
| return_dict (*bool*, *optional*, mặc định là *True*) : Có nên trả về một [*~models.transformer_2d.Transformer2DModelOutput*] thay vì một tuple thông thường hay không. | |
| **Trả về:** | |
| [*~models.transformer_2d.Transformer2DModelOutput*] nếu *return_dict* là True, ngược lại là một *tuple* mà phần tử đầu tiên là tensor vận tốc dự đoán. | |
| Lượt truyền tiến của flow-map hai chiều. `hidden_states` được bố trí theo `(B, F, C, H, W)` (latent theo từng khung hình). Đầu vào được chia thành các patch bằng `patch_embedding` chuẩn (kernel = stride = `patch_size`) và được khử nhiễu bằng self-attention toàn cục hai chiều trên chuỗi token phẳng thu được. | |
Xet Storage Details
- Size:
- 6.85 kB
- Xet hash:
- a662fd372c89d434f7991abaafb20eec20cbecd116004b4d5af5e40c60c01c55
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.