Diffusers documentation
AnyFlowTransformer3DModel
AnyFlowTransformer3DModel
المحوّل ثلاثي الأبعاد ثنائي الاتجاه المستخدم في AnyFlowPipeline. إنه الهيكل الأساسي Wan2.1 الإصدار v0.35.1 مع تغيير بنيوي واحد: يتم استبدال مضمّن خطوة الزمن بـ AnyFlowDualTimestepTextImageEmbedding, بحيث تُشترط كل نداءات الأمامية على كل من خطوة الزمن المصدر t وخطوة الزمن الهدف r. هذا هو التضمين المطلوب لتعلم خريطة التدفق المقدمة في AnyFlow. راجع صفحة AnyFlowPipeline للحصول على الورقة البحثية، والمؤلفين، والنقاط الفاحصة المنشورة.
استخدم AnyFlowFARTransformer3DModel بدلاً من ذلك لتوليد ذاتي التراجع على مستوى المقاطع (FAR causal).
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
< source >( patch_size: typing.Tuple[int] = (1, 2, 2)num_attention_heads: int = 40attention_head_dim: int = 128in_channels: int = 16out_channels: int = 16text_dim: int = 4096freq_dim: int = 256ffn_dim: int = 13824num_layers: int = 40cross_attn_norm: bool = Trueeps: float = 1e-06image_dim: typing.Optional[int] = Nonerope_max_seq_len: int = 1024gate_value: float = 0.25deltatime_type: str = 'r' )
المعاملات
- patch_size (Tuple[int]، القيمة الافتراضية (1, 2, 2)) — أبعاد الباتش ثلاثية الأبعاد لتضمين الفيديو (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) — عدد كتل التحويل (transformer blocks).
- cross_attn_norm (bool، القيمة الافتراضية True) — تفعيل تطبيع الانتباه المتقاطع.
- eps (float، القيمة الافتراضية 1e-6) — قيمة إبسيلون لطبقات التطبيع.
- image_dim (Optional[int]، اختياري، القيمة الافتراضية None) — أبعاد تضمين الصورة (Image embedding dimension) لتكييف I2V (1280 لنموذج Wan2.1-I2V الأصلي).
- rope_max_seq_len (int، القيمة الافتراضية 1024) — أقصى طول تسلسل يُستخدم لحساب ترددات الموضع الدوراني مسبقًا.
- gate_value (float, defaults to 0.25) — Mixing gate between source-timestep and delta-timestep embeddings (the AnyFlow paper’s{@html "g"} parameter, fixed at 0.25 in stage-1 distillation).
- deltatime_type (str، القيمة الافتراضية ‘r’) —
إما
"r"(حيث يكون الدلتا هو خطوة الزمن المستهدفة) أو"t-r"(حيث يكون الدلتا هو الفاصل المطلق).
محوّل ثلاثي الأبعاد ثنائي الاتجاه لعينة خرائط التدفق في AnyFlow.
البنية هي العمود الفقري Wan2.1 3D DiT الإصدار v0.35.1 مع تغيير هيكلي واحد: يتم استبدال مضمّن خطوة الزمن بـ AnyFlowDualTimestepTextImageEmbedding بحيث تكون كل استدعاءات الأمامية مشروطة بكل من خطوة الزمن المصدر t وخطوة الزمن الهدف r. هذا هو التضمين المطلوب لتعلم خريطة التدفق المقدمة في AnyFlow.
للتوليد الذاتي التتابعي على مستوى المقاطع (FAR causal)، استخدم AnyFlowFARTransformer3DModel بدلاً من ذلك؛ حيث يضيف هذا المتغير قناع كتلة FAR السببي وتضمين بقعة للإطار المضغوط فوق نفس الهيكل الأساسي.
forward
< source >( hidden_states: Tensortimestep: Tensorr_timestep: Tensorencoder_hidden_states: Tensorencoder_hidden_states_image: typing.Optional[torch.Tensor] = Noneattention_kwargs: typing.Optional[typing.Dict[str, typing.Any]] = Nonereturn_dict: bool = True )
المعاملات
- hidden_states (torch.Tensor من الشكل (batch_size, num_frames, num_channels, height, width)) — كائنات الفيديو المدخلة.
- timestep (torch.Tensor) — خطوة الزمن t لخريطة التدفق المصدرية (الأكثر ضجيجًا).
- r_timestep (torch.Tensor) — خطوة الزمن r المستهدفة (الأكثر نظافة) لخريطة التدفق؛ تحدد وجهة خطوة خريطة التدفق.
- encoder_hidden_states (torch.Tensor من الشكل (batch_size, sequence_len, embed_dims)) — تضمينات تعتمد على النص.
- encoder_hidden_states_image (torch.Tensor، اختياري) — تضمينات تكييف الصورة؛ تُدمج قبل رموز النص عند توفيرها.
- attention_kwargs (dict، اختياري) — معاملات إضافية تُمرَّر إلى AttentionProcessor كما هو مُعرَّف تحت self.processor في diffusers.models.attention_processor.
- return_dict (bool، اختياري، القيمة الافتراضية True) — ما إذا كان يجب إرجاع [~models.transformer_2d.Transformer2DModelOutput] بدلاً من tuple عادي.
مرور أمامي لخريطة تدفق ثنائية الاتجاه. يُرتَّب hidden_states على شكل (B, F, C, H, W) (كائنات كامنة لكل إطار).
يتم تقسيم المدخلات إلى بقع باستخدام patch_embedding القياسي (النواة = الخطوة = patch_size) وإزالة الضوضاء
باستخدام انتباه ذاتي ثنائي الاتجاه شامل على تسلسل الرموز المسطحة الناتج.