# KandinskyS2VTransformer3DModel

نموذج التحوّل الانتشاري (DiT) الخاص بكاندنسكي S2V 1.0، مشروط بإطار مرجعي ومسار صوتي.

## KandinskyS2VTransformer3DModel[[diffusers.KandinskyS2VTransformer3DModel]]

#### diffusers.KandinskyS2VTransformer3DModel[[diffusers.KandinskyS2VTransformer3DModel]]

```python
diffusers.KandinskyS2VTransformer3DModel(in_visual_dim: int = 16, out_visual_dim: int = 16, in_text_dim: int = 3584, in_text_dim2: int = 768, in_audio_dim: int = 3584, time_dim: int = 512, patch_size: tuple[int, int, int] = (1, 2, 2), frame_buckets: tuple[int, int, int] = (2, 4, 24), enable_framepack: bool = True, index_rope_ref_image: int = 40, patch_proj1x_coef: tuple[int, int, int] = (1, 1, 1), patch_proj2x_coef: tuple[int, int, int] = (2, 2, 2), patch_proj4x_coef: tuple[int, int, int] = (4, 4, 4), model_dim: int = 1792, ff_dim: int = 7168, num_text_blocks: int = 2, num_audio_blocks: int = 2, num_visual_blocks: int = 32, axes_dims: tuple[int, int, int] = (16, 24, 24), audio_inject_layers: tuple[int, ...] = (), text_rope_max_pos: int = 4096)
```

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

محوّل انتشار (Diffusion Transformer) لتحويل الكلام إلى فيديو.

تتطابق أسماء المعاملات مع نقاط الفحص التدريبية، لذا يتم تحميل *.safetensors* المحوّل دون الحاجة إلى إعادة تعيين المفاتيح. الاستدلال يتم بحجم دفعة يساوي 1: حيث تُحزم التسلسلات ويكون الانتباه المتقاطع للكلام محاذاً للإطارات، لذلك يقبل *forward* محور دفعة رئيسي قيمته 1 ثم يضغطه.

تدفق الصور عبارة عن تسلسل واحد مكتمل `[memory | ref | visual]`:

- `memory` — سياق FramePack من المقطع السابق عند 4x / 2x / 1x من التخفيض الزمني، ويُوضع في مواضع RoPE الزمنية السالبة؛
- `ref` — إطار المرجع، المثبّت على فهرس RoPE الزمني `index_rope_ref_image`؛
- `visual` — الكامن الضوضائي الذي يتم تخليصه من الضوضاء.

`memory` و`ref` نظيفة، لذا يتم تعديلها باستخدام `t = 0` بينما يستخدم `visual` خطوة الزمن الفعلية؛ حيث يحتوي التعديل على صفّين، ويختار فهرس لكل رمز.

#### forward[[diffusers.KandinskyS2VTransformer3DModel.forward]]

```python
forward(hidden_states: Tensor, encoder_hidden_states: Tensor, audio_hidden_states: Tensor, reference_hidden_states: Tensor, memory_hidden_states: tuple[Tensor, Tensor, Tensor], timestep: Tensor, pooled_projections: Tensor, visual_rope_pos: list[Tensor], reference_rope_pos: list[Tensor], memory_rope_pos: tuple[list[Tensor], list[Tensor], list[Tensor]], text_rope_pos: Tensor, audio_rope_pos: Tensor, scale_factor: tuple[float, float, float] = (1.0, 1.0, 1.0), return_dict: bool = True)
```

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

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

hidden_states : كامن ضوضائي، `(1, T, H, W, C)`.

encoder_hidden_states : تمثيلات النص، `(1, S_text, in_text_dim)`.

audio_hidden_states : ميزات الكلام، `(1, S_audio, in_audio_dim)`.

reference_hidden_states : إطار مرجعي كامن، `(1, 1, H, W, C)`.

memory_hidden_states : ذاكرة FramePack عند 4x / 2x / 1x، كل منها `(1, T_i, H_i, W_i, C)`.

timestep : خطوة الزمن الحالية، `(1,)`.

pooled_projections : تضمين نص CLIP المجمّع، `(1, in_text_dim2)`.

visual_rope_pos : مواضع RoPE المحورية لكل محور للكامنة الضجيجية.

reference_rope_pos : مواضع RoPE المحورية لكل محور لإطار المرجع.

memory_rope_pos : مواضع RoPE لكل محور لكل مقياس ذاكرة FramePack.

text_rope_pos : مواضع RoPE أحادية البعد لرموز النص.

audio_rope_pos : الإطار الكامن الذي ينتمي إليه كل رمز كلام.

scale_factor : مقياس RoPE لكل محور، يُحدَّد بواسطة دلو الدقة.

return_dict : إرجاع `Transformer2DModelOutput` بدلاً من tuple.

**يعيد:** [*~models.modeling_outputs.Transformer2DModelOutput*] أو *tuple*

السرعة المتوقعة، على شكل `hidden_states`.

إزالة الضوضاء من مقطع واحد.

يجب أن يكون حجم الدفعة 1: يتم حزم التسلسل، ويكون الانتباه المتقاطع للكلام محاذاةً على مستوى الإطار.

