# RFD4ProteinaAutoencoder

[RFD4-Proteína](../pipelines/rfd4_proteina) otomatik kodlayıcısı. `encode`, atom37 koordinatlarını token başına yerel gizli değişkenlere (latents) eşler ve `decode`, gizli değişkenleri ile iskelet konumlarını atom37 yapısına ve kalıntı kimliklerine geri dönüştürür. Hattın (pipeline) içinde `vae` olarak kayıtlıdır.

```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: Sequence, allowed_residue_types: Sequence, 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 = ('token_type', 'x1_a37coors_nm', 'x1_a37coors_nm_rel', 'chain_idx_seq', 'incident_bond_type_counts', 'atom37_element_charge_embedding'), decoder_feats_seq: tuple = ('ca_coors_nm', 'z_latent_seq', 'token_type', 'cond_residue_type'))
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_rfd4_proteina.py#L500)

**Parametreler:**

latent_dim (`int`, varsayılan `32`) : Token başına yerel latentin genişliği.

n_residue_types (`int`, varsayılan `147`) : Kalıntı sözlük boyutu.

num_token_types (`int`, varsayılan `7`) : Token-türü sözlüğünün boyutu: protein, RNA, DNA, atomize, bilinmeyen, glikan ve non-kanonik amino asit.

allowed_residue_types (`list[list[bool]]`) : Her token türünün çözümlenebileceği kalıntı sınıflarını gösteren `(num_token_types, n_residue_types)` tablosu.

nlayers (`int`, varsayılan `12`) : Kodlayıcı ve çözücüdeki gövde katmanları.

token_dim (`int`, varsayılan `768`) : Token temsil genişliği.

nheads (`int`, varsayılan `12`) : Katman başına dikkat başı sayısı.

dim_cond (`int`, varsayılan `128`) : (kullanılmayan, sıfır) koşullandırma vektörünün genişliği.

pair_repr_dim (`int`, varsayılan `256`) : Gövde katmanlarının oluşturulduğu çift genişliği. Yayınlanan oto-kodlayıcı çift önyargısı kullanmadığından, bu parametre içermez.

token_type_emb_dim (`int`, varsayılan `32`) : Token-türü gömme genişliği.

encoder_feats_seq, decoder_feats_seq (`list[str]`) : Encoder ve decoder girdilerine yansıtılmış özellikler.

atom37_mask (`list[list[bool]]`) : Her kalıntı tipi için geçerli atom37 yuvaları, şekli `(n_residue_types, 37)`.

Eşleşmiş moleküler kodlayıcı ve atom37 çözücü.

Bu modele sağlanan ve bu model tarafından döndürülen koordinatlar nanometre cinsindendir.

#### encode[[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)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_rfd4_proteina.py#L583)

**Parametreler:**

coords_nm (`torch.Tensor`) : `(batch, tokens, 37, 3)` nanometre cinsinden atom37 koordinatları.

padding_mask (`torch.Tensor`) : `(batch, tokens)`, bir token'ın dolgu (padding) değil de gerçek olduğu yerlerde true.

token_type (`torch.Tensor`, *isteğe bağlı*) : `(batch, tokens)` token-türü kodları.

atom37_mask (`torch.Tensor`, *isteğe bağlı*) : `(batch, tokens, 37)`, bir atom yuvasının kullanıldığı yerlerde true.

conditioning (`dict[str, Any]`, *isteğe bağlı*) : Ön işleyicinin yayınladığı anahtarlar altında kalan topoloji ve koşullama tensörleri.

generator (`torch.Generator` veya `list[torch.Generator]`, *opsiyonel*) : Bağımsız stokastik latent örnekler için her batch satırı için bir üreteç. Üreteç yoksa, örnekler global akımdan çekilir.

return_dict (`bool`, varsayılan `True`) : Tipi belirlenmiş bir çıktı veya alanlarının bir demetini döndürür.

**Dönüş:** `RFD4ProteinaEncoderOutput` veya `tuple`

`(batch, tokens, latent_dim)` biçiminde latent, ortalama ve log-ölçek tensörleri.

Hazırlanmış koordinatları ve koşullandırmayı, örneklenen token başına yerel latentlere kodlayın.

#### decode[[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)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_rfd4_proteina.py#L624)

**Parametreler:**

z_latent (`torch.Tensor`) : `(batch, tokens, latent_dim)` token başına yerel latentler.

ca_coors_nm (`torch.Tensor`) : `(batch, tokens, 3)` nanometre cinsinden backbone CA konumları.

padding_mask (`torch.Tensor`) : `(batch, tokens)`, bir token'ın dolgu (padding) değil de gerçek olduğu yerlerde true.

token_type (`torch.Tensor`, *isteğe bağlı*) : `(batch, tokens)` token-türü kodları.

atom37_mask (`torch.Tensor`, *isteğe bağlı*) : `(batch, tokens, 37)`, bir atom yuvasının kullanıldığı yerlerde true.

conditioning (`dict[str, Any]`, *isteğe bağlı*) : Ön işleyicinin yayınladığı anahtarlar altında kalan topoloji ve koşullandırma tensörleri. Sıra koşulu buradan okunur.

return_dict (`bool`, varsayılan `True`) : Tipi belirlenmiş bir çıktı veya alanlarının bir demetini döndürür.

**Dönüş:** `RFD4ProteinaDecoderOutput` veya `tuple`

Nanometre cinsinden `(batch, tokens, 37, 3)` koordinatları, `(batch, tokens)` rezidü türleri, `(batch, tokens)` emisyon maskesi ve `(batch, tokens, 37)` atom maskesi. Emisyon yapılmayan atom koordinatları sıfırdır.

Token başına latentleri ve omurga konumlarını atom37 yapısına çözümlen.

#### 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)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_rfd4_proteina.py#L666)

**Parametreler:**

z_latent (`torch.Tensor`) : `(batch, tokens, latent_dim)` token başına yerel latentler.

ca_coors_nm (`torch.Tensor`) : `(batch, tokens, 3)` nanometre cinsinden backbone CA konumları.

padding_mask (`torch.Tensor`) : `(batch, tokens)`, bir token'ın dolgu (padding) değil de gerçek olduğu yerlerde true.

token_type (`torch.Tensor`, *isteğe bağlı*) : `(batch, tokens)` token-türü kodları.

atom37_mask (`torch.Tensor`, *isteğe bağlı*) : `(batch, tokens, 37)`, bir atom yuvasının kullanıldığı yerlerde true.

conditioning (`dict[str, Any]`, *isteğe bağlı*) : Kalan topoloji ve koşullandırma tensörleri.

return_dict (`bool`, varsayılan `True`) : Tipi belirlenmiş bir çıktı veya alanlarının bir demetini döndürür.

**Dönüş:** `RFD4ProteinaDecoderOutput` veya `tuple`

Çözümlenmiş koordinatlar, kalıntı türleri ve atom/emit maskeleri.

Token başına latentleri ve omurga konumlarını çözümlen; [decode()](/docs/diffusers/main/tr/api/models/rfd4_proteina_autoencoder#diffusers.RFD4ProteinaAutoencoder.decode) çağrısına eşdeğerdir.

## 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)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_rfd4_proteina.py#L469)

**Parametreler:**

latent (`torch.Tensor`) : `mean + noise * exp(log_scale)` örneklemi, yayınlanan gizli tokenlar dışında sıfır.

mean (`torch.Tensor`) : Gauss ortalaması, yayılan gizli tokenların dışında sıfır.

log_scale (`torch.Tensor`) : Log standart sapma, çıkarılan gizli tokenların dışında sıfır.

Her biri `(batch, tokens, latent_dim)` biçiminde olan örneklenmiş latent ve Gauss parametreleri.

## 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)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_rfd4_proteina.py#L484)

**Parametreler:**

coordinates (`torch.Tensor`) : Nanometre cinsinden `(batch, tokens, 37, 3)` koordinatları; yayılmayan atomlar sıfırdır.

residue_type (`torch.Tensor`) : `(batch, tokens)` biçiminde şekillendirilmiş kalıntı sözlük dizinleri.

emit_mask (`torch.Tensor`) : `(batch, tokens)` biçiminde, Boolean tipinde emitted-token maskesi.

atom_mask (`torch.Tensor`) : `(batch, tokens, 37)` biçiminde Boolean geçerli atom maskesi.

Çözümlenmiş moleküler koordinatlar ve ayrık atom37 topolojisi.

