Buckets:

hf-doc-build/doc / diffusers /main /ru /api /models /rfd4_proteina_autoencoder.md
mishig's picture
|
download
raw
13 kB
# RFD4ProteinaAutoencoder
Автоэнкодер [RFD4-Proteína](../pipelines/rfd4_proteina). `encode` отображает координаты atom37 в локальные латенты для каждого токена, а `decode` преобразует латенты и позиции каркаса обратно в структуру atom37 и идентичности остатков. В конвейере он зарегистрирован как `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'))
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_rfd4_proteina.py#L500)
**Параметры:**
latent_dim (`int`, по умолчанию `32`) : Ширина локального латентного представления для каждого токена.
n_residue_types (`int`, по умолчанию `147`) : Размер словаря остатков.
num_token_types (`int`, по умолчанию `7`) : Размер словаря типов токенов: белок, РНК, ДНК, атомизированный, неизвестный, гликан и неканоническая аминокислота.
allowed_residue_types (`list[list[bool]]`) : таблица `(num_token_types, n_residue_types)`, описывающая классы остатков, в которые может декодироваться каждый тип токена.
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, decoder_feats_seq (`list[str]`) : Признаки, спроецированные во входные данные энкодера и декодера.
atom37_mask (`list[list[bool]]`) : Допустимые слоты atom37 для каждого типа остатка, с формой `(n_residue_types, 37)`.
Сопоставленный молекулярный энкодер и декодер atom37.
Координаты, передаваемые в эту модель и возвращаемые ею, указаны в нанометрах.
#### 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)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_rfd4_proteina.py#L583)
**Параметры:**
coords_nm (`torch.Tensor`) : `(batch, tokens, 37, 3)` координаты atom37 в нанометрах.
padding_mask (`torch.Tensor`) : `(batch, tokens)`, значения true там, где токен является реальным, а не заполняющим.
token_type (`torch.Tensor`, *необязательный*) : коды типов токенов `(batch, tokens)`.
atom37_mask (`torch.Tensor`, *необязательный*) : `(batch, tokens, 37)`, true там, где используется слот атома.
conditioning (`dict[str, Any]`, *необязательный*) : Остальные тензоры топологии и условий, под ключами, которые выдаёт препроцессор.
generator (`torch.Generator` или `list[torch.Generator]`, *необязательный*) : По одному генератору на каждую строку батча для независимых стохастических латентных выборок. Если генератор не указан, выборка выполняется из глобального потока.
return_dict (`bool`, по умолчанию `True`) : Возвращает типизированный вывод или кортеж его полей.
**Возвращает:** `RFD4ProteinaEncoderOutput` или `tuple`
Тензоры латентных, средних и лог-масштабных значений с формой `(batch, tokens, latent_dim)`.
Кодируйте подготовленные координаты и условия в сэмплированные локальные латенты для каждого токена.
#### 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)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_rfd4_proteina.py#L624)
**Параметры:**
z_latent (`torch.Tensor`) : `(batch, tokens, latent_dim)` локальные латенты для каждого токена.
ca_coors_nm (`torch.Tensor`) : `(batch, tokens, 3)` позиции CA backbone в нанометрах.
padding_mask (`torch.Tensor`) : `(batch, tokens)`, значения true там, где токен является реальным, а не заполняющим.
token_type (`torch.Tensor`, *необязательный*) : коды типов токенов `(batch, tokens)`.
atom37_mask (`torch.Tensor`, *необязательный*) : `(batch, tokens, 37)`, true там, где используется слот атома.
conditioning (`dict[str, Any]`, *необязательный*) : Остальные тензоры топологии и условий, под ключами, которые выдаёт препроцессор. Условие последовательности читается отсюда.
return_dict (`bool`, по умолчанию `True`) : Возвращает типизированный вывод или кортеж его полей.
**Возвращает:** `RFD4ProteinaDecoderOutput` или `tuple`
Координаты `(batch, tokens, 37, 3)` в нанометрах, типы остатков `(batch, tokens)`, маска эмиссии `(batch, tokens)` и маска атомов `(batch, tokens, 37)`. Координаты атомов, не участвующих в эмиссии, равны нулю.
Декодирование латентов и позиций бэкбона для каждого токена в структуру 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)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_rfd4_proteina.py#L666)
**Параметры:**
z_latent (`torch.Tensor`) : `(batch, tokens, latent_dim)` локальные латенты для каждого токена.
ca_coors_nm (`torch.Tensor`) : `(batch, tokens, 3)` позиции CA backbone в нанометрах.
padding_mask (`torch.Tensor`) : `(batch, tokens)`, значения true там, где токен является реальным, а не заполняющим.
token_type (`torch.Tensor`, *необязательный*) : коды типов токенов `(batch, tokens)`.
atom37_mask (`torch.Tensor`, *необязательный*) : `(batch, tokens, 37)`, true там, где используется слот атома.
conditioning (`dict[str, Any]`, *необязательный*) : Остальные тензоры топологии и условий.
return_dict (`bool`, по умолчанию `True`) : Возвращает типизированный вывод или кортеж его полей.
**Возвращает:** `RFD4ProteinaDecoderOutput` или `tuple`
Декодированные координаты, типы остатков и маски атомов/эмиссии.
Декодирование латентов и позиций бэкбона для каждого токена; эквивалентно вызову [decode()](/docs/diffusers/main/ru/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)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_rfd4_proteina.py#L469)
**Параметры:**
latent (`torch.Tensor`) : Выборка `mean + noise * exp(log_scale)`, ноль вне эмитированных латентных токенов.
mean (`torch.Tensor`) : среднее значение гауссовского распределения, ноль за пределами излучённых латентных токенов.
log_scale (`torch.Tensor`) : Стандартное отклонение логарифма, ноль вне выпущенных латентных токенов.
Сэмплированные латентные и гауссовы параметры, каждый с формой `(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)
```
[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_rfd4_proteina.py#L484)
**Параметры:**
coordinates (`torch.Tensor`) : Координаты `(batch, tokens, 37, 3)` в нанометрах; атомы, не входящие в эмиссию, равны нулю.
residue_type (`torch.Tensor`) : Индексы остаточного словаря с формой `(batch, tokens)`.
emit_mask (`torch.Tensor`) : Булева маска выпущенных токенов с формой `(batch, tokens)`.
atom_mask (`torch.Tensor`) : Булева маска валидных атомов с формой `(batch, tokens, 37)`.
Декодированные молекулярные координаты и дискретная топология atom37.

Xet Storage Details

Size:
13 kB
·
Xet hash:
c009b7bbf795c21a12c0e143aabf009976920c6a8b2ee640d31d43052516bda4

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