Diffusers documentation
RFD4ProteinaAutoencoder
RFD4ProteinaAutoencoder
El autoencoder de RFD4-Proteína. encode mapea las coordenadas de atom37 a latentes locales por token, y decode convierte los latentes y las posiciones del esqueleto de vuelta en la estructura de atom37 y las identidades de los residuos. Está registrado en el pipeline como vae.
from diffusers import RFD4ProteinaAutoencoder
vae = RFD4ProteinaAutoencoder.from_pretrained("nvidia/RFD4-Proteina-Diffusers", subfolder="vae")RFD4ProteinaAutoencoder
clase diffusers.RFD4ProteinaAutoencoder
< source >( atom37_mask: Sequenceallowed_residue_types: Sequencelatent_dim: int = 32n_residue_types: int = 147num_token_types: int = 7nlayers: int = 12token_dim: int = 768nheads: int = 12dim_cond: int = 128pair_repr_dim: int = 256token_type_emb_dim: int = 32encoder_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') )
Parámetros
- latent_dim (
int, por defecto32) — Ancho del latente local por token. - n_residue_types (
int, por defecto147) — Tamaño del vocabulario de residuos. - num_token_types (
int, por defecto7) — Tamaño del vocabulario de tipos de token: proteína, ARN, ADN, atomizado, desconocido, glicano y aminoácido no canónico. - allowed_residue_types (
list[list[bool]]) — tabla de clases de residuos ((num_token_types, n_residue_types)) a las que cada tipo de token puede decodificarse. - nlayers (
int, por defecto12) — Capas del tronco en cada uno del codificador y el decodificador. - token_dim (
int, por defecto768) — Ancho de la representación de tokens. - nheads (
int, por defecto12) — Cabezas de atención por capa. - dim_cond (
int, por defecto128) — Ancho del vector de condicionamiento (no utilizado, cero). - pair_repr_dim (
int, por defecto256) — Ancho de par con el que se construyen las capas del tronco. El autoencoder publicado no usa sesgo de par, por lo que esto no contiene parámetros. - token_type_emb_dim (
int, por defecto32) — Ancho de la incrustación de tipo de token. - encoder_feats_seq, decoder_feats_seq (
list[str]) — Características proyectadas en las entradas del codificador y el decodificador. - atom37_mask (
list[list[bool]]) — Ranuras válidas de atom37 para cada tipo de residuo, con forma(n_residue_types, 37).
Codificador molecular emparejado y decodificador atom37.
Las coordenadas proporcionadas a este modelo y devueltas por él están en nanómetros.
encode
< source >( coords_nm: Tensorpadding_mask: Tensortoken_type: typing.Optional[torch.Tensor] = Noneatom37_mask: typing.Optional[torch.Tensor] = Noneconditioning: dict[str, typing.Any] | None = Nonegenerator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Nonereturn_dict: bool = True ) → RFD4ProteinaEncoderOutput or tuple
Parámetros
- coords_nm (
torch.Tensor) — coordenadas de atom37 en nanómetros,(batch, tokens, 37, 3). - 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 de(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. - generator (
torch.Generatorolist[torch.Generator], opcional) — Un generador por fila del lote para muestras latentes estocásticas independientes. Si no se proporciona, la muestreo se realiza desde el flujo global. - return_dict (
bool, por defectoTrue) — Devuelve una salida tipada o una tupla de sus campos.
Devuelve
RFD4ProteinaEncoderOutput o tuple
Tensores latentes, de media y de escala logarítmica con forma (batch, tokens, latent_dim).
Codifica las coordenadas preparadas y las condiciones en latentes locales por token muestreados.
decode
< source >( z_latent: Tensorca_coors_nm: Tensorpadding_mask: Tensortoken_type: typing.Optional[torch.Tensor] = Noneatom37_mask: typing.Optional[torch.Tensor] = Noneconditioning: dict[str, typing.Any] | None = Nonereturn_dict: bool = True ) → RFD4ProteinaDecoderOutput or tuple
Parámetros
- z_latent (
torch.Tensor) — latentes locales por token de(batch, tokens, latent_dim). - ca_coors_nm (
torch.Tensor) — posiciones CA del backbone en nanómetros,(batch, tokens, 3). - 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 de(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. La condición de secuencia se lee de aquí. - return_dict (
bool, por defectoTrue) — Devuelve una salida tipada o una tupla de sus campos.
Devuelve
RFD4ProteinaDecoderOutput o tuple
Coordenadas (batch, tokens, 37, 3) en nanómetros, tipos de residuo
(batch, tokens), máscara de emisión (batch, tokens) y máscara de átomos (batch, tokens, 37). Las
coordenadas de los átomos no emitidos son cero.
Decodifica los latentes por token y las posiciones del backbone en la estructura atom37.
forward
< source >( z_latent: Tensorca_coors_nm: Tensorpadding_mask: Tensortoken_type: typing.Optional[torch.Tensor] = Noneatom37_mask: typing.Optional[torch.Tensor] = Noneconditioning: dict[str, typing.Any] | None = Nonereturn_dict: bool = True ) → RFD4ProteinaDecoderOutput or tuple
Parámetros
- z_latent (
torch.Tensor) — latentes locales por token de(batch, tokens, latent_dim). - ca_coors_nm (
torch.Tensor) — posiciones CA del backbone en nanómetros,(batch, tokens, 3). - 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 de(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. - return_dict (
bool, por defectoTrue) — Devuelve una salida tipada o una tupla de sus campos.
Devuelve
RFD4ProteinaDecoderOutput o tuple
Coordenadas decodificadas, tipos de residuos y máscaras de átomos/emisiones.
Decodifica los latentes por token y las posiciones del backbone; equivale a llamar a decode().
RFD4ProteinaEncoderOutput
clase diffusers.models.autoencoders.autoencoder_rfd4_proteina.RFD4ProteinaEncoderOutput
< source >( latent: Tensormean: typing.Optional[torch.Tensor] = Nonelog_scale: typing.Optional[torch.Tensor] = None )
Parámetros
Parámetros latentes muestreados y gaussianos, cada uno con forma (batch, tokens, latent_dim).
RFD4ProteinaDecoderOutput
clase diffusers.models.autoencoders.autoencoder_rfd4_proteina.RFD4ProteinaDecoderOutput
< source >( coordinates: Tensorresidue_type: typing.Optional[torch.Tensor] = Noneemit_mask: typing.Optional[torch.Tensor] = Noneatom_mask: typing.Optional[torch.Tensor] = None )
Parámetros
- coordinates (
torch.Tensor) — Coordenadas(batch, tokens, 37, 3)en nanómetros; los átomos no emitidos son cero. - residue_type (
torch.Tensor) — Índices del vocabulario de residuos con forma(batch, tokens). - emit_mask (
torch.Tensor) — Máscara booleana de tokens emitidos con forma(batch, tokens). - atom_mask (
torch.Tensor) — Máscara booleana de átomos válidos con forma(batch, tokens, 37).
Coordenadas moleculares decodificadas y topología discreta de atom37.