# PAN2Transformer3DModel

محوّل الانتشار (Diffusion Transformer) الخاص بـ PAN 2. يعمل بانتباه مشترك (joint attention) على رموز الفيديو ورموز النص، مع إسقاطات وشبكات أمامية (feed-forward networks) منفصلة لكل تدفق.

يجمع مدخل الفيديو بين الكمونيات الضجيجية والكمونيات الشرطية وقناع ترميزي بقناة واحدة، بحيث يخدم النموذج نفسه كلًا من توليد الفيديو من النص وتوليد الفيديو من الصورة.

```python
import torch
from diffusers import PAN2Transformer3DModel

transformer = PAN2Transformer3DModel.from_pretrained("IFM/PAN2", subfolder="transformer", dtype=torch.bfloat16)
```

## PAN2Transformer3DModel[[diffusers.PAN2Transformer3DModel]]

#### diffusers.PAN2Transformer3DModel[[diffusers.PAN2Transformer3DModel]]

```python
diffusers.PAN2Transformer3DModel(patch_size: tuple[int, int, int] = (1, 2, 2), in_channels: int = 97, out_channels: int = 48, num_attention_heads: int = 32, attention_head_dim: int = 128, num_layers: int = 44, num_refiner_layers: int = 4, mlp_ratio: float = 8.0, context_mlp_ratio: float = 4.0, refiner_mlp_ratio: float = 4.0, text_embed_dim: int = 4096, rope_axes_dim: tuple[int, int, int] = (16, 56, 56), rope_theta: float = 256.0, rope_temporal_scale: float = 0.6666666666666666)
```

[المصدر](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/transformers/transformer_pan2.py#L325)

**المعاملات:**

patch_size (`tuple[int, int, int]`، القيمة الافتراضية `(1, 2, 2)`) : حجم الباتش `(t, h, w)` الخاص بتضمين الباتش.

in_channels (`int`، القيمة الافتراضية `97`) : عدد قنوات الإدخال: الكاميرات الضوضائية، الكاميرات الشرطية، وقناة واحدة لقناع الشرط.

out_channels (`int`، القيمة الافتراضية `48`) : عدد قنوات الإخراج.

num_attention_heads (`int`، القيمة الافتراضية `32`) : عدد رؤوس الانتباه.

attention_head_dim (`int`، القيمة الافتراضية `128`) : عدد القنوات في كل رأس انتباه.

num_layers (`int`، القيمة الافتراضية `44`) : عدد كتل الانتباه المشترك.

num_refiner_layers (`int`، القيمة الافتراضية `4`) : عدد كتل تحسين الرموز المطبقة على تضمينات النص.

mlp_ratio (`float`، القيمة الافتراضية `8.0`) : نسبة بُعد الشبكة الداخلية الأمامية للفيديو إلى بُعد المخفي.

context_mlp_ratio (`float`، القيمة الافتراضية `4.0`) : نسبة بُعد الشبكة العصبية الأمامية الداخلية للنص إلى بُعد المخفي.

refiner_mlp_ratio (`float`، القيمة الافتراضية `4.0`) : نسبة بُعد التغذية الأمامية الداخلي لمُحسّن الرموز إلى بُعد الإخفاء.

text_embed_dim (`int`، القيمة الافتراضية `4096`) : بُعد حالات المخفي لمشفّر النص.

rope_axes_dim (`tuple[int, int, int]`، القيمة الافتراضية `(16, 56, 56)`) : عدد القنوات لكل محور من محاور `(t, h, w)` في التضمين الدوّاري.

rope_theta (`float`، القيمة الافتراضية `256.0`) : الأساس للتضمين الدوّار.

rope_temporal_scale (`float`، القيمة الافتراضية `16 / 24`) : العامل الذي تُضرب به مواضع الإطارات في التضمين الدوّاري: معدل الإطارات المرجعي للتضمين الدوّاري مقسوماً على معدل إطارات مقاطع الفيديو (16 مقابل 24 إطاراً في الثانية).

محوّل الانتشار الخاص بـ PAN 2.

مكدّس من كتل الانتباه المشترك فوق دمج كامنات الفيديو المقطّعة والرموز النصية المُحسَّنة. تحمل مدخلات الفيديو كامنات ضجيجية وكامنات شرطية وقناعًا للشرطية مكدّسة على محور القناة، بحيث يخدم النموذج نفسه توليد الفيديو من النص وتوليد الفيديو من الصورة.

#### forward[[diffusers.PAN2Transformer3DModel.forward]]

```python
forward(hidden_states: Tensor, timestep: Tensor, encoder_hidden_states: Tensor, attention_kwargs: dict[str, typing.Any] | None = None, return_dict: bool = True)
```

[المصدر](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/transformers/transformer_pan2.py#L438)

**المعاملات:**

hidden_states (`torch.Tensor` من الشكل `(batch_size, in_channels, num_frames, height, width)`) : الكامنات الضجيجية، والكامنات الشرطية، وقناع الشرط، مدمجة على طول القنوات.

timestep (`torch.Tensor` من الشكل `(batch_size,)`) : خطوة إزالة الضوضاء في `[0, 1000]`.

encoder_hidden_states (`torch.Tensor` من الشكل `(batch_size, text_seq_len, text_embed_dim)`) : حالات المخفي لمشفّر النص.

attention_kwargs (`dict`، *اختياري*) : قاموس kwargs يُمرَّر إلى `AttentionProcessor`؛ يُستخدم فقط لمقياس LoRA.

return_dict (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب إرجاع [Transformer2DModelOutput](/docs/diffusers/v0.43.0/ar/api/models/cogview3plus_transformer2d#diffusers.models.modeling_outputs.Transformer2DModelOutput) بدلاً من tuple عادي.

**يعيد:** [Transformer2DModelOutput](/docs/diffusers/v0.43.0/ar/api/models/cogview3plus_transformer2d#diffusers.models.modeling_outputs.Transformer2DModelOutput) أو `tuple`

السرعة المتوقعة للشكل `(batch_size, out_channels, num_frames, height, width)`.

طريقة [PAN2Transformer3DModel](/docs/diffusers/v0.43.0/ar/api/models/pan2_transformer3d#diffusers.PAN2Transformer3DModel) الأمامية.

