Buckets:
| # AnyFlowTransformer3DModel | |
| Двунаправленный 3D-трансформер, используемый в [`AnyFlowPipeline`](../pipelines/anyflow#diffusers.AnyFlowPipeline). Это базовая архитектура Wan2.1 версии v0.35.1 с одним структурным изменением: эмбеддер временных шагов заменён на ``AnyFlowDualTimestepTextImageEmbedding``, поэтому каждый вызов forward использует в качестве условий и исходный временной шаг ``t``, и целевой временной шаг ``r``. Это эмбеддинг, необходимый для обучения отображению потока $\Phi_{r\leftarrow t}$, представленному в [AnyFlow](https://huggingface.co/papers/2605.13724). См. страницу [`AnyFlowPipeline`](../pipelines/anyflow) для информации о статье, авторах и опубликованных контрольных точках. | |
| Для посегментной авто регрессивной генерации (FAR causal) используйте [`AnyFlowFARTransformer3DModel`](anyflow_far_transformer3d). | |
| ```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') | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_anyflow.py#L507) | |
| **Параметры:** | |
| patch_size (*Tuple[int]*, по умолчанию *(1, 2, 2)*) : размеры 3D-патчей для встраивания видео (t_patch, h_patch, w_patch). | |
| num_attention_heads (*int*, по умолчанию *40*) : Количество головок внимания. | |
| attention_head_dim (*int*, по умолчанию *128*) : количество каналов в каждой голове. | |
| in_channels (*int*, по умолчанию *16*) : Количество каналов во входном латентном представлении. | |
| out_channels (*int*, по умолчанию *16*) : Количество каналов в выходном латентном представлении. | |
| text_dim (*int*, по умолчанию *4096*) : Размерность входных данных для текстовых эмбеддингов (UMT5). | |
| freq_dim (*int*, по умолчанию *256*) : Размерность для синусоидных временных эмбеддингов. | |
| ffn_dim (*int*, по умолчанию *13824*) : Промежуточное измерение в полносвязной сети. | |
| num_layers (*int*, по умолчанию *40*) : Количество блоков трансформера. | |
| cross_attn_norm (*bool*, по умолчанию *True*) : Включает нормализацию кросс-внимания. | |
| eps (*float*, по умолчанию *1e-6*) : Эпсилон для слоёв нормализации. | |
| image_dim (*Optional[int]*, *optional*, по умолчанию *None*) : Размерность эмбеддинга изображения для условного формирования I2V (*1280* для исходной модели Wan2.1-I2V). | |
| rope_max_seq_len (*int*, по умолчанию *1024*) : Максимальная длина последовательности, используемая для предварительного вычисления частот ротационных позиционных кодировок. | |
| gate_value (*float*, по умолчанию *0.25*) : Смешивающий гейт между эмбеддингами исходного временного шага и дельта-шага (параметр \\(g\\) из статьи AnyFlow, зафиксированный на уровне 0.25 на этапе дистилляции первого порядка). | |
| deltatime_type (*str*, по умолчанию *'r'*) : либо `"r"` (delta — целевой шаг), либо `"t-r"` (delta — абсолютный интервал). | |
| Двунаправленный 3D-трансформер для выборки карт потоков AnyFlow. | |
| Архитектура представляет собой базовый блок v0.35.1 Wan2.1 3D DiT с одним структурным изменением: встраиватель временного шага заменён на `AnyFlowDualTimestepTextImageEmbedding`, так что каждый вызов forward использует в качестве условия и исходный временной шаг `t`, и целевой временной шаг `r`. Это встраивание необходимо для обучения отображению потока \\(\Phi_{r\leftarrow t}\\), представленному в [AnyFlow](https://huggingface.co/papers/2605.13724). | |
| Для покусочной авто регрессивной генерации (FAR causal) используйте `AnyFlowFARTransformer3DModel`; этот вариант добавляет блок-маску FAR causal и встраивание патчей сжатых кадров поверх того же бэкбона. | |
| #### 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) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_anyflow.py#L626) | |
| **Параметры:** | |
| hidden_states (*torch.Tensor* формы *(batch_size, num_frames, num_channels, height, width)*) : Входные латенты видео. | |
| timestep (*torch.Tensor*) : исходный (более шумный) шаг временной шкалы flow-map *t*. | |
| r_timestep (*torch.Tensor*) : целевой (более чистый) шаг временной шкалы flow-map *r*; определяет конечную точку шага flow-map. | |
| encoder_hidden_states (*torch.Tensor* формы *(batch_size, sequence_len, embed_dims)*) : Встраивания текстового условия. | |
| encoder_hidden_states_image (*torch.Tensor*, *optional*) : Встраивания для условного изображения; при наличии конкатенируются перед текстовыми токенами. | |
| attention_kwargs (*dict*, *optional*) : Ключевые аргументы, передаваемые в *AttentionProcessor*, как определено в *self.processor* в [diffusers.models.attention_processor](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py). | |
| return_dict (*bool*, *optional*, по умолчанию *True*) : Возвращать ли [*~models.transformer_2d.Transformer2DModelOutput*] вместо обычного кортежа. | |
| **Возвращает:** | |
| [*~models.transformer_2d.Transformer2DModelOutput*], если *return_dict* равно True, иначе *tuple*, первым элементом которого является тензор предсказанной скорости. | |
| Прямой проход двунаправленной flow-карты. `hidden_states` имеет форму `(B, F, C, H, W)` (латенты для каждого кадра). Вход преобразуется в патчи с помощью стандартного `patch_embedding` (размер ядра = шаг = `patch_size`) и очищается от шума с помощью глобального двунаправленного self-attention по получившейся плоской последовательности токенов. | |
Xet Storage Details
- Size:
- 8.71 kB
- Xet hash:
- 4d9660c219c6dc5f754862abde15a34903884990196b2b8aed1c2ca15355c2fa
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.