# RFD4ProteinaTransformer

El desruidador de [RFD4-Proteína](../pipelines/rfd4_proteina). Predice velocidades para las dos modalidades que integra el muestreador —posiciones de CA del esqueleto y latentes locales por token— a partir de tensores moleculares preparados. Las entradas son tensores nombrados más un mapeo de condicionamiento cuyo contenido selecciona la configuración del checkpoint; el análisis de la estructura queda fuera de esta clase.

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

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

**Parámetros:**

nlayers (`int`, por defecto `14`) : Número de capas del tronco.

token_dim (`int`, por defecto `768`) : Ancho de la representación de tokens.

nheads (`int`, por defecto `12`) : Cabezas de atención por capa.

dim_cond (`int`, por defecto `256`) : Ancho del vector de condicionamiento (tiempo, índice de reciclaje, etiqueta CATH).

pair_repr_dim (`int`, por defecto `384`) : Ancho de la representación de pares.

latent_dim (`int`, por defecto `32`) : Ancho del latente local por token.

token_type_emb_dim (`int`, por defecto `32`) : Ancho del embedding de tipo de token.

cath_emb_dim (`int`, por defecto `32`) : Ancho de cada embedding de clase/arquitectura/topología CATH.

t_emb_dim (`int`, por defecto `256`) : Ancho del embedding sinusoidal de tiempo.

seq_sep_dim (`int`, por defecto `64`) : Número de intervalos de longitud de camino de enlace.

xt_pair_dist_dim (`int`, por defecto `30`) : Número de bins de distancia de pares del backbone.

xt_pair_dist_min (`float`, por defecto `0.1`), xt_pair_dist_max (`float`, por defecto `3.0`) : Rango de distancia entre pares en nanómetros.

feats_seq, feats_cond_seq, feats_pair_repr, feats_pair_cond (`list[str]`) : Nombres de las características proyectadas en las entradas de token, condicionamiento, par y par-condicionamiento.

update_pair_repr_every_n (`int`, por defecto `2`) : Con qué frecuencia se actualiza la representación de pares a partir de los tokens entre capas.

tri_mult_c (`int`, por defecto `256`) : Ancho oculto de la multiplicación triangular en esas actualizaciones.

num_token_types (`int`, por defecto `7`) : Tamaño del vocabulario de tipos de token: proteína, ARN, ADN, atomizado, desconocido, glicano y aminoácido no canónico.

recycle_conditioning_dim (`int`, por defecto `1`) : Ancho del one-hot de `recycle_remaining`, cuando esa característica está en `feats_cond_seq`.

num_sequence_classes (`int`, por defecto `147`) : Tamaño del vocabulario de residuos que predice la lectura de la secuencia.

Denoisador de velocidad RFD4 con modalidades de backbone emparejado y latente local.

El modelo se ejecuta en su propio dtype: cárgalo con `dtype=torch.bfloat16` para inferencia de precisión reducida. El estado de muestreo que se pasa a `forward` permanece en float32; los embeddings de características se calculan en float32 y se convierten en la proyección de entrada.

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

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

**Parámetros:**

bb_ca (`torch.Tensor`) : Coordenadas ruidosas del backbone `(batch, tokens, 3)` en nanómetros.

local_latents (`torch.Tensor`) : Latentes locales con ruido `(batch, tokens, latent_dim)`.

bb_ca_time (`torch.Tensor`) : `(batch,)` tiempo del backbone en [0, 1].

local_latents_time (`torch.Tensor`) : `(batch,)` tiempo local-latente en [0, 1].

padding_mask (`torch.Tensor`) : `(batch, tokens)`, verdadero donde un token es real y no relleno.

token_type (`torch.Tensor`, *opcional*) : códigos de tipo de token `(batch, tokens)`.

atom37_mask (`torch.Tensor`, *opcional*) : `(batch, tokens, 37)`, verdadero donde se utiliza un hueco de átomo.

conditioning (`dict[str, Any]`, *opcional*) : Los tensores restantes de topología y condicionamiento, bajo las claves que emite el preprocesador. Cuáles de ellos se leen está fijado por `feats_seq`, `feats_cond_seq`, `feats_pair_repr` y `feats_pair_cond` del punto de control; si una característica configurada solicita una clave que no está presente, esa característica queda sin condicionar en lugar de lanzar un error.

recycle_depth (`int`, por defecto `0`) : Número de pasadas del tronco; cero aún ejecuta una pasada.

attention_kwargs (`dict`, *opcional*) : Solo se lee `scale`, como la escala de LoRA para esta llamada.

return_dict (`bool`, por defecto `True`) : Devuelve una salida tipada o una tupla de campos que no son None.

**Devuelve:** `RFD4ProteinaTransformerOutput` o `tuple`

Velocidades del backbone/latentes locales y logits opcionales de secuencia/inserción, antes de la integración del programador.

Predice las velocidades a partir de tensores moleculares preparados sin avanzar el muestreador.

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

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

**Parámetros:**

backbone (`torch.Tensor`) : Velocidad del backbone con forma `(batch, tokens, 3)`, en nanómetros por unidad de tiempo.

local_latents (`torch.Tensor`) : Velocidad latente con forma `(batch, tokens, latent_dim)`.

sequence_logits (`torch.Tensor`, *opcional*) : Logits de residuos con forma `(batch, tokens, 147)`.

insertion_logits (`torch.Tensor`, *opcional*) : Asignación de inserción de logits con forma `(batch, tokens, tokens)`.

Predicciones del denoiser antes de la integración del programador.

