# RFD4ProteinaTransformer

[RFD4-Proteína](../pipelines/rfd4_proteina) gürültü azaltıcısı. Örnekleme biriminin entegre ettiği iki modalite için — omurga CA konumları ve token başına yerel latentler — hazırlanmış moleküler tensörlerden hızları tahmin eder. Girdiler, adlandırılmış tensörler ve içeriği checkpoint yapılandırmasının seçtiği bir koşullandırma eşlemesidir; yapı ayrıştırması bu sınıfın kapsamı dışındadır.

```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 = ('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 = ('time_emb_bb_ca', 'time_emb_local_latents', 'cath_code', 'recycle_remaining'), feats_pair_repr: tuple = ('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 = ('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)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_rfd4_proteina.py#L906)

**Parametreler:**

nlayers (`int`, varsayılan `14`) : Gövde katmanlarının sayısı.

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 `256`) : Koşullandırma vektörünün (zaman, geri dönüş indeksi, CATH etiketi) genişliği.

pair_repr_dim (`int`, varsayılan `384`) : Çift temsil genişliği.

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

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

cath_emb_dim (`int`, varsayılan `32`) : Her CATH sınıfı/mimari/topoloji gömme genişliği.

t_emb_dim (`int`, varsayılan `256`) : Sinüsoidal zaman gömme genişliği.

seq_sep_dim (`int`, varsayılan `64`) : Bağ-yolu-uzunluğu sınıflarının sayısı.

xt_pair_dist_dim (`int`, varsayılan `30`) : Omurga çift mesafe sınıflarının sayısı.

xt_pair_dist_min (`float`, varsayılan `0.1`), xt_pair_dist_max (`float`, varsayılan `3.0`) : Nanometre cinsinden çift mesafe aralığı.

feats_seq, feats_cond_seq, feats_pair_repr, feats_pair_cond (`list[str]`) : Token, koşullandırma, çift ve çift-koşullandırma girdilerine yansıtılan özelliklerin adları.

update_pair_repr_every_n (`int`, varsayılan `2`) : Katmanlar arasındaki token'lerden çift temsilinin ne sıklıkla güncellendiğini belirtir.

tri_mult_c (`int`, varsayılan `256`) : Bu güncellemelerdeki üçgen çarpımının gizli genişliği.

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.

recycle_conditioning_dim (`int`, varsayılan `1`) : `feats_cond_seq` içinde bu özellik varsa, `recycle_remaining` tek-sıcak (one-hot) kodlamasının genişliği.

num_sequence_classes (`int`, varsayılan `147`) : Sıra okuma (sequence readout) tarafından tahmin edilen rezidü sözlüğünün boyutu.

Eşleşmiş omurga ve yerel-gizli modalitelere sahip RFD4 hız gürültü temizleyici.

Model kendi dtype'inde çalışır: azaltılmış hassasiyetli çıkarım için `dtype=torch.bfloat16` ile yükleyin. `forward`'e geçirilen örneklem durumu float32'de kalır; özellik gömme değerleri float32'de hesaplanır ve giriş projeksiyonunda dönüştürülür.

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

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_rfd4_proteina.py#L1062)

**Parametreler:**

bb_ca (`torch.Tensor`) : Nanometre cinsinden gürültülü omurga koordinatları `(batch, tokens, 3)`.

local_latents (`torch.Tensor`) : Gürültülü yerel latentler `(batch, tokens, latent_dim)`.

bb_ca_time (`torch.Tensor`) : `(batch,)` [0, 1] aralığında backbone süresi.

local_latents_time (`torch.Tensor`) : `(batch,)` [0, 1] aralığında yerel-gizli zaman.

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 ürettiği anahtarlar altında kalan topoloji ve koşullama tensörleri. Bunlardan hangilerinin okunacağı, kontrol noktasının `feats_seq`, `feats_cond_seq`, `feats_pair_repr` ve `feats_pair_cond` alanlarıyla belirlenir; yapılandırılmış bir özelliğin istediği ancak mevcut olmayan bir anahtar, hata fırlatmak yerine o özelliği koşulsuz bırakır.

recycle_depth (`int`, varsayılan `0`) : Gövde geçiş sayısı; sıfır hâlâ bir geçiş çalıştırır.

attention_kwargs (`dict`, *isteğe bağlı*) : Bu çağrı için LoRA ölçeği olarak yalnızca `scale` okunur.

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

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

Scheduler entegrasyonundan önce, backbone/local-latent hızları ve isteğe bağlı sequence/insertion logitleri.

Hazırlanmış moleküler tensörlerden örnekleyiciyi ilerletmeden hızları tahmin edin.

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

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_rfd4_proteina.py#L890)

**Parametreler:**

backbone (`torch.Tensor`) : `(batch, tokens, 3)` biçiminde, nanometre/birim zaman cinsinden omurga hızı.

local_latents (`torch.Tensor`) : `(batch, tokens, latent_dim)` şeklinde şekillendirilmiş gizli hız.

sequence_logits (`torch.Tensor`, *isteğe bağlı*) : `(batch, tokens, 147)` biçiminde kalıntı logitleri.

insertion_logits (`torch.Tensor`, *isteğe bağlı*) : `(batch, tokens, tokens)` biçiminde atanma atama logitleri.

Zamanlayıcı entegrasyonundan önceki gürültü azaltıcı tahminleri.

