Buckets:

hf-doc-build/doc / diffusers /v0.43.0 /ar /api /models /anyflow_transformer3d.md
mishig's picture
|
download
raw
7.91 kB

AnyFlowTransformer3DModel

المحوّل ثلاثي الأبعاد ثنائي الاتجاه الذي يستخدمه AnyFlowPipeline. وهو العمود الفقري Wan2.1 الإصدار v0.35.1 مع تغيير هيكلي واحد: يتم استبدال مضمّن خطوة الزمن بـ AnyFlowDualTimestepTextImageEmbedding، بحيث تُشترط كل نداءات الأمامية على كل من خطوة الزمن المصدر t وخطوة الزمن الهدف r. هذا هو التضمين المطلوب لتعلم خريطة التدفق $\Phi_{r\leftarrow t}$ المقدمة في 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]]

diffusers.AnyFlowTransformer3DModel[[diffusers.AnyFlowTransformer3DModel]]

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')

المصدر

المعاملات:

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) : البُعد الوسيط في الشبكة الأمامية (feed-forward).

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، القيمة الافتراضية 0.25) : بوابة الخلط بين تمثيلات خطوة المصدر وخطوة الدلتا (معامل gg في ورقة AnyFlow، مُثبَّت عند 0.25 في مرحلة التقطير الأولى).

deltatime_type (str، القيمة الافتراضية 'r') : إما "r" (حيث يكون الدلتا هو خطوة الزمن المستهدفة) أو "t-r" (حيث يكون الدلتا هو الفاصل المطلق).

محوّل ثلاثي الأبعاد ثنائي الاتجاه لعينة خرائط التدفق في AnyFlow.

البنية هي العمود الفقري Wan2.1 3D DiT الإصدار v0.35.1 مع تغيير هيكلي واحد: يتم استبدال مضمّن خطوة الزمن بـ AnyFlowDualTimestepTextImageEmbedding بحيث تكون كل استدعاءات الأمام مشروطة على كل من خطوة الزمن المصدر t وخطوة الزمن الهدف r. هذا هو التضمين المطلوب لتعلم خريطة التدفق \Phi_{r\leftarrow t} المقدمة في AnyFlow.

للتوليد الذاتي التتابعي على مستوى المقاطع (FAR causal)، استخدم AnyFlowFARTransformer3DModel بدلاً من ذلك؛ حيث يضيف هذا المتغير قناع كتلة FAR السببي وتضمين بقعة للإطار المضغوط فوق نفس الهيكل الأساسي.

forward[[diffusers.AnyFlowTransformer3DModel.forward]]

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)

المصدر

المعاملات:

hidden_states (torch.Tensor من الشكل (batch_size, num_frames, num_channels, height, width)) : كامنات الفيديو المدخلة.

timestep (torch.Tensor) : خطوة الزمن t لخريطة التدفق المصدرية (الأكثر ضجيجًا).

r_timestep (torch.Tensor) : خطوة الزمن (timestep) 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 عادي.

يعيد:

[~models.transformer_2d.Transformer2DModelOutput] إذا كان return_dict صحيحًا، وإلا فسيكون tuple يكون عنصره الأول هو متجه السرعة المتوقع.

مرور أمامي لخريطة تدفق ثنائية الاتجاه. يُرتَّب hidden_states على شكل (B, F, C, H, W) (كائنات كامنة لكل إطار). يتم تقسيم المدخلات إلى بقع باستخدام patch_embedding القياسي (النواة = الخطوة = patch_size) وإزالة الضوضاء باستخدام انتباه ذاتي ثنائي الاتجاه شامل على تسلسل الرموز المسطحة الناتج.

Xet Storage Details

Size:
7.91 kB
·
Xet hash:
a8af09afbcaf49b074e1c77fe990c685a0d71c74e0a6ebab3d0e3ba35c3da17a

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