Diffusers documentation
RFD4ProteinaAutoencoder
RFD4ProteinaAutoencoder
L'autoencodeur de RFD4-Proteína. encode mappe les coordonnées atom37 vers des latents locaux par jeton, et decode transforme les latents et les positions du squelette en structure atom37 et identités de résidus. Il est enregistré dans le pipeline sous le nom vae.
from diffusers import RFD4ProteinaAutoencoder
vae = RFD4ProteinaAutoencoder.from_pretrained("nvidia/RFD4-Proteina-Diffusers", subfolder="vae")RFD4ProteinaAutoencoder
classe 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') )
Paramètres
- latent_dim (
int, par défaut32) — Largeur du latent local par jeton. - n_residue_types (
int, par défaut147) — Taille du vocabulaire des résidus. - num_token_types (
int, par défaut7) — Taille du vocabulaire des types de jetons : protéine, ARN, ADN, atomisé, inconnu, glycan et acide aminé non canonique. - allowed_residue_types (
list[list[bool]]) — table des classes de résidus ((num_token_types, n_residue_types)) vers lesquelles chaque type de jeton peut être décodé. - nlayers (
int, par défaut12) — Couches du tronc dans chacun de l'encodeur et du décodeur. - token_dim (
int, par défaut768) — Largeur de la représentation des jetons. - nheads (
int, par défaut12) — Têtes d'attention par couche. - dim_cond (
int, par défaut128) — Largeur du vecteur de conditionnement (non utilisé, nul). - pair_repr_dim (
int, par défaut256) — Largeur des paires avec laquelle les couches du tronc sont construites. L'autoencodeur publié n'utilise aucun biais de paire, ce paramètre ne contient donc aucun paramètre. - token_type_emb_dim (
int, par défaut32) — Largeur de l'incorporation de type de jeton. - encoder_feats_seq, decoder_feats_seq (
list[str]) — Caractéristiques projetées dans les entrées de l'encodeur et du décodeur. - atom37_mask (
list[list[bool]]) — Emplacements atom37 valides pour chaque type de résidu, de forme(n_residue_types, 37).
Encodeur moléculaire apparié et décodeur atom37.
Les coordonnées fournies à ce modèle et renvoyées par celui-ci sont exprimées en nanomètres.
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
Paramètres
- coords_nm (
torch.Tensor) — coordonnées des atomes 37 en nanomètres, de forme(batch, tokens, 37, 3). - padding_mask (
torch.Tensor) —(batch, tokens), vrai là où un jeton est réel plutôt que du bourrage. - token_type (
torch.Tensor, facultatif) — codes de type de jeton(batch, tokens). - atom37_mask (
torch.Tensor, facultatif) —(batch, tokens, 37), vrai là où un emplacement d'atome est utilisé. - conditioning (
dict[str, Any], facultatif) — Les tenseurs de topologie et de conditionnement restants, sous les clés émises par le préprocesseur. - generator (
torch.Generatoroulist[torch.Generator], facultatif) — Un générateur par ligne du lot pour des échantillons latents stochastiques indépendants. En l’absence de générateur, l’échantillonnage est effectué à partir du flux global. - return_dict (
bool, par défautTrue) — Retourne une sortie typée, ou un tuple de ses champs.
Retourne
RFD4ProteinaEncoderOutput ou tuple
Tenseurs latents, de moyenne et d'échelle logarithmique de forme (batch, tokens, latent_dim).
Encoder les coordonnées préparées et les conditions en latents locaux par jeton échantillonnés.
décoder
< 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
Paramètres
- z_latent (
torch.Tensor) — latents locaux par jeton de forme(batch, tokens, latent_dim). - ca_coors_nm (
torch.Tensor) — positions CA du backbone en nanomètres,(batch, tokens, 3). - padding_mask (
torch.Tensor) —(batch, tokens), vrai là où un jeton est réel plutôt que du bourrage. - token_type (
torch.Tensor, facultatif) — codes de type de jeton(batch, tokens). - atom37_mask (
torch.Tensor, facultatif) —(batch, tokens, 37), vrai là où un emplacement d'atome est utilisé. - conditioning (
dict[str, Any], facultatif) — Les tenseurs de topologie et de conditionnement restants, sous les clés émises par le préprocesseur. La condition de séquence est lue ici. - return_dict (
bool, par défautTrue) — Retourne une sortie typée, ou un tuple de ses champs.
Retourne
RFD4ProteinaDecoderOutput ou tuple
Coordonnées (batch, tokens, 37, 3) en nanomètres, types de résidus
(batch, tokens), masque d'émission (batch, tokens) et masque d'atomes (batch, tokens, 37). Les coordonnées des atomes non émis sont nulles.
Décoder les latents par jeton et les positions du backbone en structure 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
Paramètres
- z_latent (
torch.Tensor) — latents locaux par jeton de forme(batch, tokens, latent_dim). - ca_coors_nm (
torch.Tensor) — positions CA du backbone en nanomètres,(batch, tokens, 3). - padding_mask (
torch.Tensor) —(batch, tokens), vrai là où un jeton est réel plutôt que du bourrage. - token_type (
torch.Tensor, facultatif) — codes de type de jeton(batch, tokens). - atom37_mask (
torch.Tensor, facultatif) —(batch, tokens, 37), vrai là où un emplacement d'atome est utilisé. - conditioning (
dict[str, Any], facultatif) — Les tenseurs de topologie et de conditionnement restants. - return_dict (
bool, par défautTrue) — Retourne une sortie typée, ou un tuple de ses champs.
Retourne
RFD4ProteinaDecoderOutput ou tuple
Coordonnées décodées, types de résidus et masques d'atomes/émissions.
Décode les latents par jeton et les positions du backbone ; équivalent à l'appel de decode().
RFD4ProteinaEncoderOutput
classe diffusers.models.autoencoders.autoencoder_rfd4_proteina.RFD4ProteinaEncoderOutput
< source >( latent: Tensormean: typing.Optional[torch.Tensor] = Nonelog_scale: typing.Optional[torch.Tensor] = None )
Paramètres latents échantillonnés et gaussiens, chacun de forme (batch, tokens, latent_dim).
RFD4ProteinaDecoderOutput
classe 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 )
Paramètres
- coordinates (
torch.Tensor) — Coordonnées(batch, tokens, 37, 3)en nanomètres ; les atomes non émis sont nuls. - residue_type (
torch.Tensor) — Indices du vocabulaire des résidus de forme(batch, tokens). - emit_mask (
torch.Tensor) — Masque booléen des jetons émis, de forme(batch, tokens). - atom_mask (
torch.Tensor) — Masque booléen des atomes valides de forme(batch, tokens, 37).
Coordonnées moléculaires décodées et topologie discrète atom37.