# ChronoEditTransformer3DModel

نموذج Diffusion Transformer لبيانات الفيديو ثلاثية الأبعاد من [ChronoEdit: Towards Temporal Reasoning for Image Editing and World Simulation](https://huggingface.co/papers/2510.04290) من NVIDIA وجامعة تورنتو، بواسطة Jay Zhangjie Wu وXuanchi Ren وTianchang Shen وTianshi Cao وKai He وYifan Lu وRuiyuan Gao وEnze Xie وShiyi Lan وJose M. Alvarez وJun Gao وSanja Fidler وZian Wang وHuan Ling.

> **ملخص سريع:** يعيد ChronoEdit صياغة تحرير الصور كمهمة لتوليد الفيديو، مستخدماً الصور المدخلة والمعدّلة كإطارات بداية ونهاية للاستفادة من نماذج الفيديو المُدرَّبة مسبقاً مع الحفاظ على الاتساق الزمني. وتُقدّم مرحلة الاستدلال الزمني رموز استدلال لضمان أن تكون التعديلات معقولة فيزيائياً ولتصوير مسار التحرير.

يمكن تحميل النموذج باستخدام مقتطف الشيفرة التالي.

```python
from diffusers import ChronoEditTransformer3DModel

transformer = ChronoEditTransformer3DModel.from_pretrained("nvidia/ChronoEdit-14B-Diffusers", subfolder="transformer", dtype=torch.bfloat16)
```

## ChronoEditTransformer3DModel[[diffusers.ChronoEditTransformer3DModel]]

#### diffusers.ChronoEditTransformer3DModel[[diffusers.ChronoEditTransformer3DModel]]

```python
diffusers.ChronoEditTransformer3DModel(patch_size: 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, qk_norm: str | None = 'rms_norm_across_heads', eps: float = 1e-06, image_dim: int | None = None, added_kv_proj_dim: int | None = None, rope_max_seq_len: int = 1024, pos_embed_seq_len: int | None = None, rope_temporal_skip_len: int = 8)
```

[المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_chronoedit.py#L523)

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

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`، القيمة الافتراضية `512`) : بُعد الإدخال لتضمينات النص.

freq_dim (`int`، القيمة الافتراضية `256`) : الأبعاد الخاصة بالتضمينات الزمنية الجيبية.

ffn_dim (`int`، القيمة الافتراضية `13824`) : البُعد الوسيط في الشبكة الأمامية (feed-forward).

num_layers (`int`، القيمة الافتراضية `40`) : عدد طبقات كتل التحويل (transformer blocks) المستخدمة.

window_size (`tuple[int]`، القيمة الافتراضية `(-1, -1)`) : حجم النافذة للانتباه المحلي (القيمة -1 تشير إلى الانتباه العام).

cross_attn_norm (`bool`، القيمة الافتراضية `True`) : تفعيل تطبيع الانتباه المتقاطع.

qk_norm (`bool`، القيمة الافتراضية `True`) : تفعيل تطبيع الاستعلام/المفتاح.

eps (`float`، القيمة الافتراضية `1e-6`) : قيمة إبسيلون لطبقات التطبيع.

add_img_emb (`bool`، القيمة الافتراضية `False`) : ما إذا كان سيتم استخدام img_emb.

added_kv_proj_dim (`int`، *اختياري*، القيمة الافتراضية `None`) : عدد القنوات المستخدمة في الإسقاطات المضافة للمفتاح والقيمة. إذا كانت `None`، فلا يُستخدم أي إسقاط.

نموذج Transformer لبيانات تشبه الفيديو يُستخدم في نموذج ChronoEdit.

#### forward[[diffusers.ChronoEditTransformer3DModel.forward]]

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

[المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_chronoedit.py#L644)

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

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

timestep (`torch.LongTensor`) : يُستخدم للإشارة إلى خطوة إزالة الضوضاء.

encoder_hidden_states (`torch.Tensor` من الشكل `(batch_size, sequence_len, embed_dims)`) : التضمينات الشرطية (التضمينات المحسوبة من الشروط المدخلة مثل الأوامر) للاستخدام.

encoder_hidden_states_image (`torch.Tensor`، *اختياري*) : تضمينات الصور الشرطية لتوليد مشروط بالصور.

return_dict (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب إرجاع `~models.transformer_2d.Transformer2DModelOutput` بدلاً من tuple عادي.

attention_kwargs (`dict`، *اختياري*) : قاموس kwargs يُمرَّر إلى `AttentionProcessor` إذا تم تحديده، كما هو معرَّف تحت `self.processor` في [diffusers.models.attention_processor](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py).

**يعيد:**

إذا كان `return_dict` صحيحًا، يُعاد `~models.transformer_2d.Transformer2DModelOutput`، وإلا يُعاد `tuple` يكون عنصره الأول هو تينسور العينة.

طريقة [ChronoEditTransformer3DModel](/docs/diffusers/main/ar/api/models/chronoedit_transformer_3d#diffusers.ChronoEditTransformer3DModel) الأمامية.

## Transformer2DModelOutput[[diffusers.models.modeling_outputs.Transformer2DModelOutput]]

#### diffusers.models.modeling_outputs.Transformer2DModelOutput[[diffusers.models.modeling_outputs.Transformer2DModelOutput]]

```python
diffusers.models.modeling_outputs.Transformer2DModelOutput(sample: torch.Tensor)
```

[المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/modeling_outputs.py#L21)

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

sample (`torch.Tensor` من الشكل `(batch_size, num_channels, height, width)` أو `(batch size, num_vector_embeds - 1, num_latent_pixels)` إذا كان [Transformer2DModel](/docs/diffusers/main/ar/api/models/transformer2d#diffusers.Transformer2DModel) منفصلاً): مخرجات الحالات المخفية المشروطة على مدخل `encoder_hidden_states`. إذا كان منفصلاً، يعيد توزيعات الاحتمال للبكسلات الكامنة غير الملوثة.

مخرجات [Transformer2DModel](/docs/diffusers/main/ar/api/models/transformer2d#diffusers.Transformer2DModel).

