Buckets:

hf-doc-build/doc / diffusers /main /fr /api /models /rfd4_proteina_autoencoder.md
mishig's picture
|
download
raw
10.1 kB
# RFD4ProteinaAutoencoder
L'autoencodeur de [RFD4-Proteína](../pipelines/rfd4_proteina). `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`.
```py
from diffusers import RFD4ProteinaAutoencoder
vae = RFD4ProteinaAutoencoder.from_pretrained("nvidia/RFD4-Proteina-Diffusers", subfolder="vae")
```
## RFD4ProteinaAutoencoder[[diffusers.RFD4ProteinaAutoencoder]]
#### diffusers.RFD4ProteinaAutoencoder[[diffusers.RFD4ProteinaAutoencoder]]
```python
diffusers.RFD4ProteinaAutoencoder(atom37_mask: collections.abc.Sequence[collections.abc.Sequence[bool]], allowed_residue_types: collections.abc.Sequence[collections.abc.Sequence[bool]], latent_dim: int = 32, n_residue_types: int = 147, num_token_types: int = 7, nlayers: int = 12, token_dim: int = 768, nheads: int = 12, dim_cond: int = 128, pair_repr_dim: int = 256, token_type_emb_dim: int = 32, encoder_feats_seq: tuple[str, ...] = ('token_type', 'x1_a37coors_nm', 'x1_a37coors_nm_rel', 'chain_idx_seq', 'incident_bond_type_counts', 'atom37_element_charge_embedding'), decoder_feats_seq: tuple[str, ...] = ('ca_coors_nm', 'z_latent_seq', 'token_type', 'cond_residue_type'))
```
[Source](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_rfd4_proteina.py#L500)
**Paramètres :**
latent_dim (`int`, par défaut `32`) : Largeur du latent local par jeton.
n_residue_types (`int`, par défaut `147`) : Taille du vocabulaire des résidus.
num_token_types (`int`, par défaut `7`) : 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 `(num_token_types, n_residue_types)` des classes de résidus auxquelles chaque type de jeton peut être décodé.
nlayers (`int`, par défaut `12`) : Couches du tronc dans chacun de l'encodeur et du décodeur.
token_dim (`int`, par défaut `768`) : Largeur de la représentation des jetons.
nheads (`int`, par défaut `12`) : Têtes d'attention par couche.
dim_cond (`int`, par défaut `128`) : Largeur du vecteur de conditionnement (non utilisé, nul).
pair_repr_dim (`int`, par défaut `256`) : Largeur des paires avec lesquelles 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éfaut `32`) : Largeur de l'embedding du 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[[diffusers.RFD4ProteinaAutoencoder.encode]]
```python
encode(coords_nm: 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, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, return_dict: bool = True)
```
[Source](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_rfd4_proteina.py#L583)
**Paramètres :**
coords_nm (`torch.Tensor`) : `(batch, tokens, 37, 3)` coordonnées atom37 en nanomètres.
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.Generator` ou `list[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éfaut `True`) : 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.
#### decode[[diffusers.RFD4ProteinaAutoencoder.decode]]
```python
decode(z_latent: Tensor, ca_coors_nm: 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, return_dict: bool = True)
```
[Source](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_rfd4_proteina.py#L624)
**Paramètres :**
z_latent (`torch.Tensor`) : `(batch, tokens, latent_dim)` latents locaux par jeton.
ca_coors_nm (`torch.Tensor`) : `(batch, tokens, 3)` positions CA du backbone en nanomètres.
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éfaut `True`) : 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[[diffusers.RFD4ProteinaAutoencoder.forward]]
```python
forward(z_latent: Tensor, ca_coors_nm: 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, return_dict: bool = True)
```
[Source](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_rfd4_proteina.py#L666)
**Paramètres :**
z_latent (`torch.Tensor`) : `(batch, tokens, latent_dim)` latents locaux par jeton.
ca_coors_nm (`torch.Tensor`) : `(batch, tokens, 3)` positions CA du backbone en nanomètres.
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 restants de topologie et de conditionnement.
return_dict (`bool`, par défaut `True`) : 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()](/docs/diffusers/main/fr/api/models/rfd4_proteina_autoencoder#diffusers.RFD4ProteinaAutoencoder.decode).
## RFD4ProteinaEncoderOutput[[diffusers.models.autoencoders.autoencoder_rfd4_proteina.RFD4ProteinaEncoderOutput]]
#### diffusers.models.autoencoders.autoencoder_rfd4_proteina.RFD4ProteinaEncoderOutput[[diffusers.models.autoencoders.autoencoder_rfd4_proteina.RFD4ProteinaEncoderOutput]]
```python
diffusers.models.autoencoders.autoencoder_rfd4_proteina.RFD4ProteinaEncoderOutput(latent: Tensor, mean: typing.Optional[torch.Tensor] = None, log_scale: typing.Optional[torch.Tensor] = None)
```
[Source](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_rfd4_proteina.py#L469)
**Paramètres :**
latent (`torch.Tensor`) : Échantillon `mean + noise * exp(log_scale)`, nul en dehors des jetons latents émis.
mean (`torch.Tensor`) : moyenne gaussienne, nulle en dehors des jetons latents émis.
log_scale (`torch.Tensor`) : Écart-type logarithmique, nul en dehors des jetons latents émis.
Paramètres latents échantillonnés et gaussiens, chacun de forme `(batch, tokens, latent_dim)`.
## RFD4ProteinaDecoderOutput[[diffusers.models.autoencoders.autoencoder_rfd4_proteina.RFD4ProteinaDecoderOutput]]
#### diffusers.models.autoencoders.autoencoder_rfd4_proteina.RFD4ProteinaDecoderOutput[[diffusers.models.autoencoders.autoencoder_rfd4_proteina.RFD4ProteinaDecoderOutput]]
```python
diffusers.models.autoencoders.autoencoder_rfd4_proteina.RFD4ProteinaDecoderOutput(coordinates: Tensor, residue_type: typing.Optional[torch.Tensor] = None, emit_mask: typing.Optional[torch.Tensor] = None, atom_mask: typing.Optional[torch.Tensor] = None)
```
[Source](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_rfd4_proteina.py#L484)
**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.

Xet Storage Details

Size:
10.1 kB
·
Xet hash:
caadae503afbdc34b0fc2aedc057c96f901cf9b5d9b3c83acf3c0905de15ce62

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.