Buckets:
| # AnyFlowTransformer3DModel | |
| [`AnyFlowPipeline`](../pipelines/anyflow#diffusers.AnyFlowPipeline)에서 사용하는 양방향 3D Transformer입니다. v0.35.1 Wan2.1 백본을 기반으로 하나의 구조적 변경 사항이 적용되어 있습니다. timestep embedder가 ``AnyFlowDualTimestepTextImageEmbedding``으로 대체되어, 모든 forward 호출이 소스 timestep ``t``와 대상 timestep ``r`` 모두에 조건부 정보를 부여합니다. 이는 [AnyFlow](https://huggingface.co/papers/2605.13724)에서 도입된 flow map $\Phi_{r\leftarrow t}$를 학습하는 데 필요한 임베딩입니다. 논문, 저자 및 공개된 체크포인트에 대한 정보는 [`AnyFlowPipeline`](../pipelines/anyflow) 페이지를 참고하세요. | |
| 차unk 단위 자기회귀(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*) : 각 헤드(head)의 채널 수. | |
| in_channels (*int*, 기본값 *16*) : 입력 latent의 채널 수입니다. | |
| out_channels (*int*, 기본값 *16*) : 출력 latent의 채널 수입니다. | |
| text_dim (*int*, 기본값 *4096*) : 텍스트 임베딩(UMT5)의 입력 차원 | |
| freq_dim (*int*, 기본값 *256*) : 사인 시간 임베딩의 차원. | |
| ffn_dim (*int*, 기본값 *13824*) : 피드포워드 네트워크의 중간 차원. | |
| num_layers (*int*, 기본값 *40*) : Transformer 블록의 수. | |
| cross_attn_norm (*bool*, 기본값 *True*) : cross-attention 정규화를 활성화합니다. | |
| eps (*float*, 기본값 *1e-6*) : 정규화 레이어에 사용되는 Epsilon 값입니다. | |
| image_dim (*Optional[int]*, *선택 사항*, 기본값 *None*) : I2V 조건화에 사용되는 이미지 임베딩 차원 (원본 Wan2.1-I2V 모델의 경우 *1280*). | |
| rope_max_seq_len (*int*, 기본값 *1024*) : 회전 위치 주파수를 사전 계산하는 데 사용되는 최대 시퀀스 길이입니다. | |
| gate_value (*float*, 기본값 *0.25*) : source-timestep 임베딩과 delta-timestep 임베딩 사이의 혼합 게이트 (AnyFlow 논문에서 \\(g\\) 파라미터로, stage-1 증류에서 0.25로 고정됨). | |
| deltatime_type (*str*, 기본값 *'r'*) : `"r"`(delta가 대상 timestep임) 또는 `"t-r"`(delta가 절대 간격임). | |
| AnyFlow 플로우 맵 샘플링을 위한 양방향 3D Transformer. | |
| 아키텍처는 v0.35.1 Wan2.1 3D DiT 백본이며, 하나의 구조적 변경 사항이 있습니다. 타임스텝 임베더가 `AnyFlowDualTimestepTextImageEmbedding`으로 대체되어, 모든 포워드 호출이 소스 타임스텝 `t`과 타겟 타임스텝 `r` 모두에 조건부화됩니다. 이는 [AnyFlow](https://huggingface.co/papers/2605.13724)에서 도입된 플로우 맵 \\(\Phi_{r\leftarrow t}\\)을 학습하는 데 필요한 임베딩입니다. | |
| 차unk 단위 자기회귀(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*, shape *(batch_size, num_frames, num_channels, height, width)*) : 입력 비디오 latents. | |
| timestep (*torch.Tensor*) : 소스(노이즈가 더 많은) flow-map timestep *t*. | |
| r_timestep (*torch.Tensor*) : 대상(더 깨끗한) flow-map timestep *r*; flow-map 단계의 목적지를 정의합니다. | |
| encoder_hidden_states (*torch.Tensor*, shape *(batch_size, sequence_len, embed_dims)*) : 텍스트 조건 임베딩. | |
| encoder_hidden_states_image (*torch.Tensor*, *선택*) : 이미지 조건 임베딩입니다. 제공되면 텍스트 토큰 앞에 연결됩니다. | |
| attention_kwargs (*dict*, *optional*) : [diffusers.models.attention_processor](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py)의 *self.processor*에서 정의된 *AttentionProcessor*로 전달되는 Kwargs입니다. | |
| return_dict (*bool*, *optional*, 기본값 *True*) : 일반 튜플 대신 [*~models.transformer_2d.Transformer2DModelOutput*]를 반환할지 여부. | |
| **반환값:** | |
| [*~models.transformer_2d.Transformer2DModelOutput*] *return_dict*가 True인 경우, 아니면 첫 번째 요소가 예측된 속도 텐서인 *tuple* | |
| 양방향 flow-map forward pass. `hidden_states`는 `(B, F, C, H, W)`로 배치됩니다(프레임별 latents). 입력은 표준 `patch_embedding`(kernel = stride = `patch_size`)로 patchify되며, 생성된 평탄화 토큰 시퀀스에 대해 전역 양방향 self-attention으로 denoise됩니다. | |
Xet Storage Details
- Size:
- 6.22 kB
- Xet hash:
- f2da8a42231ea5cc339899ab0c172a0634e8058f8d5bc04d2f2eaaa1d6c2f48e
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.