# RFD4ProteinaAutoencoder

المشفّر-المفكّك التلقائي لـ [RFD4-Proteína](../pipelines/rfd4_proteina). يحوّل `encode` إحداثيات atom37 إلى كامنات محلية لكل رمز، بينما يعيد `decode` الكامنات ومواقع الهيكل العظمي إلى بنية atom37 وهويات البقايا. وهو مسجّل في خط الأنابيب باسم `vae`.

```py
from diffusers import RFD4ProteinaAutoencoder

vae = RFD4ProteinaAutoencoder.from_pretrained("nvidia/RFD4-Proteina-Diffusers", subfolder="vae")
```

## RFD4ProteinaAutoencoder[[diffusers.RFD4ProteinaAutoencoder]]

#### diffusers.RFD4ProteinaAutoencoder[[diffusers.RFD4ProteinaAutoencoder]]

```python
diffusers.RFD4ProteinaAutoencoder(atom37_mask: collections.abc.Sequence[collections.abc.Sequence[bool]], allowed_residue_types: collections.abc.Sequence[collections.abc.Sequence[bool]], latent_dim: int = 32, n_residue_types: int = 147, num_token_types: int = 7, nlayers: int = 12, token_dim: int = 768, nheads: int = 12, dim_cond: int = 128, pair_repr_dim: int = 256, token_type_emb_dim: int = 32, encoder_feats_seq: tuple[str, ...] = ('token_type', 'x1_a37coors_nm', 'x1_a37coors_nm_rel', 'chain_idx_seq', 'incident_bond_type_counts', 'atom37_element_charge_embedding'), decoder_feats_seq: tuple[str, ...] = ('ca_coors_nm', 'z_latent_seq', 'token_type', 'cond_residue_type'))
```

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

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

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

n_residue_types (`int`، القيمة الافتراضية `147`) : حجم مفردات البقايا.

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

allowed_residue_types (`list[list[bool]]`) : جدول بأبعاد `(num_token_types, n_residue_types)` يوضح فئات البقايا التي يمكن لكل نوع من أنواع الرموز فك ترميزها إليها.

nlayers (`int`، القيمة الافتراضية `12`) : طبقات الجذع في كل من المُشفِّر والمُفكِّك.

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

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

dim_cond (`int`، القيمة الافتراضية `128`) : عرض متجه الشرط (غير المستخدم، صفري).

pair_repr_dim (`int`، القيمة الافتراضية `256`) : عرض الأزواج التي تُبنى بها طبقات الجذع. لا يستخدم مُشفِّر/مفكِّك الترميز المُطلَق انحيازًا للأزواج، لذا لا يحتوي هذا المعامل على أي معاملات.

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

encoder_feats_seq, decoder_feats_seq (`list[str]`) : الميزات المُسقطَة إلى مدخلات المُشفِّر والمُفكِّك.

atom37_mask (`list[list[bool]]`) : فتحات atom37 الصالحة لكل نوع من بقايا الأحماض الأمينية، على شكل `(n_residue_types, 37)`.

مُشفِّر جزيئي مُزاوج ومُفكِّك atom37.

الإحداثيات المُقدَّمة إلى هذا النموذج والمُعاد إرجاعها منه تكون بالنانومتر.

#### ترميز[[diffusers.RFD4ProteinaAutoencoder.encode]]

```python
encode(coords_nm: 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, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, return_dict: bool = True)
```

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

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

coords_nm (`torch.Tensor`) : `(batch, tokens, 37, 3)` إحداثيات atom37 بالنانومتر.

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 وشروط المعالجة المتبقية، تحت المفاتيح التي يصدرها المعالج المسبق.

generator (`torch.Generator` أو `list[torch.Generator]`، *اختياري*) : مولّد واحد لكل صف في الدفعة للحصول على عينات كامنة عشوائية مستقلة. في حال عدم توفيره، يتم السحب من التدفق العام.

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

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

متجهات كامنة ومتوسطة ومقياس لوغاريتمي بأشكال `(batch, tokens, latent_dim)`.

ترميز الإحداثيات المُعدّة والشروط إلى كامنات محلية مُستخرجة لكل رمز.

#### فك الترميز[[diffusers.RFD4ProteinaAutoencoder.decode]]

```python
decode(z_latent: Tensor, ca_coors_nm: 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, return_dict: bool = True)
```

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

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

z_latent (`torch.Tensor`) : `(batch, tokens, latent_dim)` متغيرات محلية لكل رمز.

ca_coors_nm (`torch.Tensor`) : `(batch, tokens, 3)` مواضع CA في العمود الفقري بالنانومتر.

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 وشروط التكييف المتبقية، تحت المفاتيح التي يصدرها المعالج المسبق. تُقرأ حالة التسلسل من هنا.

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

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

إحداثيات `(batch, tokens, 37, 3)` بالنانومتر، وأنواع البقايا `(batch, tokens)`، وقناع الانبعاث `(batch, tokens)`، وقناع الذرات `(batch, tokens, 37)`. إحداثيات الذرات غير المنبعثة تساوي صفراً.

فكّ تشفير الكمون لكل رمز ومواقع العمود الفقري إلى بنية atom37.

#### forward[[diffusers.RFD4ProteinaAutoencoder.forward]]

```python
forward(z_latent: Tensor, ca_coors_nm: 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, return_dict: bool = True)
```

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

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

z_latent (`torch.Tensor`) : `(batch, tokens, latent_dim)` متغيرات محلية لكل رمز.

ca_coors_nm (`torch.Tensor`) : `(batch, tokens, 3)` مواضع CA في العمود الفقري بالنانومتر.

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]`، *اختياري*) : متجهات البنية المتبقية والشروط.

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

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

إحداثيات مفكوكة، أنواع بقايا، وأقنعة ذرة/إصدار.

فكّ تشفير الكمونيات (latents) ومواقع العمود الفقري (backbone) لكل رمز؛ ما يعادل استدعاء [decode()](/docs/diffusers/v0.43.0/ar/api/models/rfd4_proteina_autoencoder#diffusers.RFD4ProteinaAutoencoder.decode).

## RFD4ProteinaEncoderOutput[[diffusers.models.autoencoders.autoencoder_rfd4_proteina.RFD4ProteinaEncoderOutput]]

#### diffusers.models.autoencoders.autoencoder_rfd4_proteina.RFD4ProteinaEncoderOutput[[diffusers.models.autoencoders.autoencoder_rfd4_proteina.RFD4ProteinaEncoderOutput]]

```python
diffusers.models.autoencoders.autoencoder_rfd4_proteina.RFD4ProteinaEncoderOutput(latent: Tensor, mean: typing.Optional[torch.Tensor] = None, log_scale: typing.Optional[torch.Tensor] = None)
```

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

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

latent (`torch.Tensor`) : عينة `mean + noise * exp(log_scale)`، صفر خارج الرموز الكامنة المُصدَرة.

mean (`torch.Tensor`) : متوسط غاوسي، صفر خارج الرموز الكامنة المُخرَجة.

log_scale (`torch.Tensor`) : الانحراف المعياري اللوغاريتمي، صفر خارج الرموز الكامنة المُخرَجة.

معاملات مُسحبة كامنة وغاوسية، كلٌّ منها على شكل `(batch, tokens, latent_dim)`.

## RFD4ProteinaDecoderOutput[[diffusers.models.autoencoders.autoencoder_rfd4_proteina.RFD4ProteinaDecoderOutput]]

#### diffusers.models.autoencoders.autoencoder_rfd4_proteina.RFD4ProteinaDecoderOutput[[diffusers.models.autoencoders.autoencoder_rfd4_proteina.RFD4ProteinaDecoderOutput]]

```python
diffusers.models.autoencoders.autoencoder_rfd4_proteina.RFD4ProteinaDecoderOutput(coordinates: Tensor, residue_type: typing.Optional[torch.Tensor] = None, emit_mask: typing.Optional[torch.Tensor] = None, atom_mask: typing.Optional[torch.Tensor] = None)
```

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

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

coordinates (`torch.Tensor`) : إحداثيات `(batch, tokens, 37, 3)` بالنانومتر؛ الذرات غير المُخرَجة تساوي صفراً.

residue_type (`torch.Tensor`) : فهارس مفردات بقايا على شكل `(batch, tokens)`.

emit_mask (`torch.Tensor`) : قناع الرموز الصادرة من نوع منطقي، بأبعاد `(batch, tokens)`.

atom_mask (`torch.Tensor`) : قناع ذرات صالحة من نوع منطقي (Boolean) بأبعاد `(batch, tokens, 37)`.

إحداثيات جزيئية مفكوكة الشفرة وطوبولوجيا ذرّية منفصلة37.

