Diffusers documentation
RFD4ProteinaTransformer
RFD4ProteinaTransformer
Le débruiteur de RFD4-Proteína. Il prédit les vitesses pour les deux modalités que l'échantillonneur intègre — les positions CA du squelette et les latents locaux par jeton — à partir de tenseurs moléculaires préparés. Les entrées sont des tenseurs nommés ainsi qu'un mappage de conditionnement dont le contenu est sélectionné par la configuration du point de contrôle ; l'analyse de la structure est en dehors de cette classe.
from diffusers import RFD4ProteinaTransformer
transformer = RFD4ProteinaTransformer.from_pretrained(
"nvidia/RFD4-Proteina-Diffusers", subfolder="transformer"
)RFD4ProteinaTransformer
classe diffusers.RFD4ProteinaTransformer
< source >( nlayers: int = 14token_dim: int = 768nheads: int = 12dim_cond: int = 256pair_repr_dim: int = 384latent_dim: int = 32token_type_emb_dim: int = 32cath_emb_dim: int = 32t_emb_dim: int = 256seq_sep_dim: int = 64xt_pair_dist_dim: int = 30xt_pair_dist_min: float = 0.1xt_pair_dist_max: float = 3.0feats_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 = 2tri_mult_c: int = 256num_sequence_classes: int = 147num_token_types: int = 7recycle_conditioning_dim: int = 1 )
Paramètres
- nlayers (
int, par défaut14) — Nombre de couches du tronc. - 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éfaut256) — Largeur du vecteur de conditionnement (temps, index de recyclage, étiquette CATH). - pair_repr_dim (
int, par défaut384) — Largeur de la représentation des paires. - latent_dim (
int, par défaut32) — Largeur du latent local par jeton. - token_type_emb_dim (
int, par défaut32) — Largeur de l'incorporation de type de jeton. - cath_emb_dim (
int, par défaut32) — Largeur de chaque embedding de classe/architecture/topologie CATH. - t_emb_dim (
int, par défaut256) — Largeur de l'encodage temporel sinusoïdal. - seq_sep_dim (
int, par défaut64) — Nombre de classes de longueur de chemin de liaison. - xt_pair_dist_dim (
int, par défaut30) — Nombre de classes de distance par paires pour le backbone. - xt_pair_dist_min (
float, par défaut0.1), xt_pair_dist_max (float, par défaut3.0) — Plage de distance entre paires, en nanomètres. - feats_seq, feats_cond_seq, feats_pair_repr, feats_pair_cond (
list[str]) — Noms des caractéristiques projetées dans les entrées de jeton, de conditionnement, de paire et de conditionnement de paire. - update_pair_repr_every_n (
int, par défaut2) — Fréquence à laquelle la représentation des paires est mise à jour à partir des jetons entre les couches. - tri_mult_c (
int, par défaut256) — Largeur cachée de la multiplication triangulaire dans ces mises à jour. - 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. - recycle_conditioning_dim (
int, par défaut1) — Largeur du one-hotrecycle_remaining, lorsque cette fonction est dansfeats_cond_seq. - num_sequence_classes (
int, par défaut147) — Taille du vocabulaire de résidus prédit par la lecture de séquence.
Denoiseur de vitesse RFD4 avec modalités backbone appariées et latentes locales.
Le modèle s’exécute dans son propre dtype : chargez-le avec dtype=torch.bfloat16 pour une inférence en précision réduite. L’état d’échantillonnage transmis à forward reste en float32 ; les embeddings de caractéristiques sont calculés en float32 et convertis à la projection d’entrée.
forward
< source >( bb_ca: Tensorlocal_latents: Tensorbb_ca_time: Tensorlocal_latents_time: Tensorpadding_mask: Tensortoken_type: typing.Optional[torch.Tensor] = Noneatom37_mask: typing.Optional[torch.Tensor] = Noneconditioning: dict[str, typing.Any] | None = Nonerecycle_depth: int = 0attention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = True ) → RFD4ProteinaTransformerOutput or tuple
Paramètres
- bb_ca (
torch.Tensor) — Coordonnées bruitées du squelette(batch, tokens, 3)en nanomètres. - local_latents (
torch.Tensor) — Latents locaux bruités(batch, tokens, latent_dim). - bb_ca_time (
torch.Tensor) —(batch,)temps du backbone dans [0, 1]. - local_latents_time (
torch.Tensor) —(batch,)temps latent local dans [0, 1]. - 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. Les clés lues sont fixées par lesfeats_seq,feats_cond_seq,feats_pair_repretfeats_pair_conddu point de contrôle ; si une clé demandée par une fonctionnalité configurée est absente, cette fonctionnalité reste non conditionnée plutôt que de lever une exception. - recycle_depth (
int, par défaut0) — Nombre de passages du tronc ; zéro exécute toujours un passage. - attention_kwargs (
dict, facultatif) — Seulscaleest lu, en tant que l'échelle LoRA pour cet appel. - return_dict (
bool, par défautTrue) — Retourne une sortie typée, ou un tuple de champs non nuls.
Retourne
RFD4ProteinaTransformerOutput ou tuple
Vitesses du backbone/latentes locales et logits de séquence/insertion optionnels, avant l'intégration du planificateur.
Prédire les vitesses à partir de tenseurs moléculaires préparés sans avancer le sampleur.
RFD4ProteinaTransformerOutput
classe diffusers.models.transformers.transformer_rfd4_proteina.RFD4ProteinaTransformerOutput
< source >( backbone: Tensorlocal_latents: typing.Optional[torch.Tensor] = Nonesequence_logits: typing.Optional[torch.Tensor] = Noneinsertion_logits: typing.Optional[torch.Tensor] = None )
Paramètres
- backbone (
torch.Tensor) — Vitesse de forme(batch, tokens, 3), en nanomètres par unité de temps. - local_latents (
torch.Tensor) — Vitesse latente de forme(batch, tokens, latent_dim). - sequence_logits (
torch.Tensor, facultatif) — Logits des résidus de forme(batch, tokens, 147). - insertion_logits (
torch.Tensor, facultatif) — Logits d'attribution d'insertion de forme(batch, tokens, tokens).
Prédictions du débruiteur avant l'intégration du planificateur.