# RFD4ProteinaTransformer

مزيل الضوضاء الخاص بـ [RFD4-Proteína](../pipelines/rfd4_proteina). يتنبأ بالسرعات للوضعيتين اللتين يدمجهما المُعيّن — مواضع CA للهيكل العظمي والقيم الكامنة المحلية لكل رمز — من الموترات الجزيئية المُعدّة. المدخلات هي موتورات مُسماة بالإضافة إلى خرائط شروط يختار محتواها تكوين نقطة الفحص؛ أما تحليل البنية فهو خارج نطاق هذه الفئة.

```py
from diffusers import RFD4ProteinaTransformer

transformer = RFD4ProteinaTransformer.from_pretrained(
    "nvidia/RFD4-Proteina-Diffusers", subfolder="transformer"
)
```

## RFD4ProteinaTransformer[[diffusers.RFD4ProteinaTransformer]]

#### diffusers.RFD4ProteinaTransformer[[diffusers.RFD4ProteinaTransformer]]

```python
diffusers.RFD4ProteinaTransformer(nlayers: int = 14, token_dim: int = 768, nheads: int = 12, dim_cond: int = 256, pair_repr_dim: int = 384, latent_dim: int = 32, token_type_emb_dim: int = 32, cath_emb_dim: int = 32, t_emb_dim: int = 256, seq_sep_dim: int = 64, xt_pair_dist_dim: int = 30, xt_pair_dist_min: float = 0.1, xt_pair_dist_max: float = 3.0, feats_seq: tuple[str, ...] = ('xt_bb_ca', 'xt_local_latents', 'token_type', 'sequence_probabilities', 'cond_a37coors_nm', 'cond_a37coors_internal_nm', 'rasa_binned', 'secondary_structure', 'hbond_modernized', 'pistack', 'pication', 'saltbridge', 'hydrophobic', 'metal_coord', 'na_ss_state', 'hotspot', 'atom_charge', 'atomic_element', 'coord_group_seq', 'chirality', 'chain_centroid_xyz'), feats_cond_seq: tuple[str, ...] = ('time_emb_bb_ca', 'time_emb_local_latents', 'cath_code', 'recycle_remaining'), feats_pair_repr: tuple[str, ...] = ('xt_bb_ca_pair_dists', 'bond_mask', 'bond_order', 'is_aromatic', 'index_group_pair', 'molecule_idx_pair', 'molecule_entity_pair', 'token_bond_path_length', 'canonical_polymer_ordering', 'na_ss_pair'), feats_pair_cond: tuple[str, ...] = ('time_emb_bb_ca', 'time_emb_local_latents'), update_pair_repr_every_n: int = 2, tri_mult_c: int = 256, num_sequence_classes: int = 147, num_token_types: int = 7, recycle_conditioning_dim: int = 1)
```

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

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

nlayers (`int`، القيمة الافتراضية `14`) : عدد طبقات الجذع.

token_dim (`int`، القيمة الافتراضية `768`) : عرض تمثيل الرمز.

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

dim_cond (`int`، القيمة الافتراضية `256`) : عرض متجه الشروط (الوقت، فهرس إعادة التدوير، تسمية CATH).

pair_repr_dim (`int`، القيمة الافتراضية `384`) : عرض تمثيل الزوج.

latent_dim (`int`، القيمة الافتراضية `32`) : عرض الكامن المحلي لكل رمز.

token_type_emb_dim (`int`، القيمة الافتراضية `32`) : عرض تضمين نوع الرمز.

cath_emb_dim (`int`، القيمة الافتراضية `32`) : عرض كل تضمين (embedding) لفئة/بنية/طوبولوجيا CATH.

t_emb_dim (`int`، القيمة الافتراضية `256`) : عرض تضمين الوقت الجيبية.

seq_sep_dim (`int`، القيمة الافتراضية `64`) : عدد فئات طول مسار الرابطة.

xt_pair_dist_dim (`int`، القيمة الافتراضية `30`) : عدد فئات المسافات الزوجية في الهيكل الأساسي.

xt_pair_dist_min (`float`، القيمة الافتراضية `0.1`)، xt_pair_dist_max (`float`، القيمة الافتراضية `3.0`) : نطاق المسافة بين الأزواج بالنانومتر.

feats_seq, feats_cond_seq, feats_pair_repr, feats_pair_cond (`list[str]`) : أسماء الميزات المُسقطَة إلى مدخلات الرمز، والتكييف، والزوج، والتكييف الزوجي.

update_pair_repr_every_n (`int`، القيمة الافتراضية `2`) : التكرار الذي يتم به تحديث تمثيل الزوج من الرموز بين الطبقات.

tri_mult_c (`int`، القيمة الافتراضية `256`) : عرض الطبقة المخفية في عملية الضرب المثلثي في تلك التحديثات.

num_token_types (`int`، القيمة الافتراضية `7`) : حجم مفردات نوع الرمز: بروتين، RNA، DNA، ذرّي، غير معروف، غليكاني، وحمض أميني غير قياسي.

recycle_conditioning_dim (`int`، القيمة الافتراضية `1`) : عرض `recycle_remaining` أحادي الترميز، عندما يكون هذا الميزة ضمن `feats_cond_seq`.

num_sequence_classes (`int`، القيمة الافتراضية `147`) : حجم قاموس البقايا (residue vocabulary) الذي تتنبأ به قراءة التسلسل.

مزيل الضوضاء RFD4 للسرعة مع العمود الفقري المزدوج والأوضاع المحلية الكامنة.

يعمل النموذج في نوع بياناته الخاص: حمّله باستخدام `dtype=torch.bfloat16` للاستدلال بدقة مخفّضة. يبقى حالة العينة المُمرّرة إلى `forward` في float32؛ تُحسب تضمينات الميزات في float32 وتُحوَّل عند الإسقاط المدخلي.

#### forward[[diffusers.RFD4ProteinaTransformer.forward]]

```python
forward(bb_ca: Tensor, local_latents: Tensor, bb_ca_time: Tensor, local_latents_time: Tensor, padding_mask: Tensor, token_type: typing.Optional[torch.Tensor] = None, atom37_mask: typing.Optional[torch.Tensor] = None, conditioning: dict[str, typing.Any] | None = None, recycle_depth: int = 0, attention_kwargs: dict[str, typing.Any] | None = None, return_dict: bool = True)
```

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

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

bb_ca (`torch.Tensor`) : إحداثيات العمود الفقري الضوضائية `(batch, tokens, 3)` بالنانومتر.

local_latents (`torch.Tensor`) : محليات محلية ضجيجية `(batch, tokens, latent_dim)`.

bb_ca_time (`torch.Tensor`) : `(batch,)` زمن العمود الفقري في [0, 1].

local_latents_time (`torch.Tensor`) : `(batch,)` الزمن المحلي الكامن في [0, 1].

padding_mask (`torch.Tensor`) : `(batch, tokens)`، تكون قيمته صحيحة (true) حيث يكون الرمز (token) حقيقيًا وليس تعبئة (padding).

token_type (`torch.Tensor`، *اختياري*) : رموز أنواع الرموز `(batch, tokens)`.

atom37_mask (`torch.Tensor`، *اختياري*) : `(batch, tokens, 37)`، تكون القيمة صحيحة حيث يُستخدم خانة ذرة.

conditioning (`dict[str, Any]`، *اختياري*) : متجهات البنية topology وشروط conditioning المتبقية، تحت المفاتيح التي يُصدرها المعالج المسبق. يُحدَّد أيٌّ منها سيُقرأ بواسطة `feats_seq` و`feats_cond_seq` و`feats_pair_repr` و`feats_pair_cond` في نقطة الحفظ checkpoint؛ فإذا طلبت ميزة مُهيأة مفتاحاً غير موجود، تبقى تلك الميزة غير مشروطة بدلاً من رفع خطأ.

recycle_depth (`int`، القيمة الافتراضية `0`) : عدد مرات المرور عبر الجذع؛ القيمة صفر تنفّذ مرورًا واحدًا.

attention_kwargs (`dict`، *اختياري*) : يُقرأ `scale` فقط، كمقياس LoRA لهذا الاستدعاء.

return_dict (`bool`، القيمة الافتراضية `True`) : إرجاع مخرجات مُنمّطة، أو مجموعة من الحقول غير الفارغة.

**يعيد:** `RFD4ProteinaTransformerOutput` أو `tuple`

سرعات العمود الفقري/الكامن المحلي وسجلات الاختيار/الإدراج الاختيارية، قبل دمج المجدول.

تنبّأ بالسرعات من الموترات الجزيئية المُعدّة دون تقدّم المُعيّن.

## RFD4ProteinaTransformerOutput[[diffusers.models.transformers.transformer_rfd4_proteina.RFD4ProteinaTransformerOutput]]

#### diffusers.models.transformers.transformer_rfd4_proteina.RFD4ProteinaTransformerOutput[[diffusers.models.transformers.transformer_rfd4_proteina.RFD4ProteinaTransformerOutput]]

```python
diffusers.models.transformers.transformer_rfd4_proteina.RFD4ProteinaTransformerOutput(backbone: Tensor, local_latents: typing.Optional[torch.Tensor] = None, sequence_logits: typing.Optional[torch.Tensor] = None, insertion_logits: typing.Optional[torch.Tensor] = None)
```

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

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

backbone (`torch.Tensor`) : سرعة الهيكل العظمي (Backbone velocity) بشكل `(batch, tokens, 3)`، بوحدة نانومتر لكل وحدة زمنية.

local_latents (`torch.Tensor`) : سرعة كامنة (Latent velocity) بأبعاد `(batch, tokens, latent_dim)`.

sequence_logits (`torch.Tensor`، *اختياري*) : قيم اللوجيتات المتبقية (Residue logits) بشكل `(batch, tokens, 147)`.

insertion_logits (`torch.Tensor`، *اختياري*) : إسناد الإدراج لقيم اللوجيتس ذات الشكل `(batch, tokens, tokens)`.

توقعات مُزيل الضوضاء قبل دمج المجدول.

