Buckets:

hf-doc-build/doc / diffusers /main /ar /api /models /anyflow_transformer3d.md
mishig's picture
|
download
raw
7.9 kB
# AnyFlowTransformer3DModel
المحوّل ثلاثي الأبعاد ثنائي الاتجاه الذي يستخدمه [`AnyFlowPipeline`](../pipelines/anyflow#diffusers.AnyFlowPipeline). وهو العمود الفقري Wan2.1 الإصدار v0.35.1 مع تغيير هيكلي واحد: يتم استبدال مضمّن خطوة الزمن بـ ``AnyFlowDualTimestepTextImageEmbedding``، بحيث تُشترط كل نداءات الأمامية على كل من خطوة الزمن المصدر ``t`` وخطوة الزمن الهدف ``r``. هذا هو التضمين المطلوب لتعلم خريطة التدفق $\Phi_{r\leftarrow t}$ المقدمة في [AnyFlow](https://huggingface.co/papers/2605.13724). راجع صفحة [`AnyFlowPipeline`](../pipelines/anyflow) للاطلاع على الورقة البحثية والمؤلفين والنقاط الفاحصة المنشورة.
استخدم [`AnyFlowFARTransformer3DModel`](anyflow_far_transformer3d) بدلاً من ذلك لتوليد ذاتي التراجع على مستوى المقاطع (FAR causal).
```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)*) : أبعاد الباتش ثلاثية الأبعاد لتضمين الفيديو (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*) : بوابة الخلط بين تمثيلات خطوة المصدر وخطوة الدلتا (معامل \\(g\\) في ورقة 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](https://huggingface.co/papers/2605.13724).
للتوليد الذاتي التتابعي على مستوى المقاطع (FAR causal)، استخدم `AnyFlowFARTransformer3DModel` بدلاً من ذلك؛ حيث يضيف هذا المتغير قناع كتلة FAR السببي وتضمين بقعة للإطار المضغوط فوق نفس الهيكل الأساسي.
#### 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*) : خطوة الزمن *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](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py).
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.9 kB
·
Xet hash:
99a82c207ae9c26660aa1861ed9fbc0411b53c17320948357b46286515514dbe

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