Diffusers documentation

RFD4ProteinaAutoencoder

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

RFD4ProteinaAutoencoder

Автоэнкодер RFD4-Proteína. encode отображает координаты atom37 в локальные латенты для каждого токена, а decode превращает латенты и позиции каркаса обратно в структуру atom37 и идентичности остатков. В конвейере он зарегистрирован как vae.

from diffusers import RFD4ProteinaAutoencoder

vae = RFD4ProteinaAutoencoder.from_pretrained("nvidia/RFD4-Proteina-Diffusers", subfolder="vae")

RFD4ProteinaAutoencoder

класс diffusers.RFD4ProteinaAutoencoder

< >

( atom37_mask: collections.abc.Sequence[collections.abc.Sequence[bool]]allowed_residue_types: collections.abc.Sequence[collections.abc.Sequence[bool]]latent_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[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') )

Параметры

  • 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

< >

( 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

Параметры

  • coords_nm (torch.Tensor) — координаты атомов atom37 в нанометрах, (batch, tokens, 37, 3).
  • 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

< >

( 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

Параметры

  • z_latent (torch.Tensor) — локальные латенты для каждого токена, (batch, tokens, latent_dim).
  • ca_coors_nm (torch.Tensor) — позиции CA-атомов бэкбона в нанометрах, (batch, tokens, 3).
  • 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

< >

( 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

Параметры

  • z_latent (torch.Tensor) — локальные латенты для каждого токена, (batch, tokens, latent_dim).
  • ca_coors_nm (torch.Tensor) — позиции CA-атомов бэкбона в нанометрах, (batch, tokens, 3).
  • 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().

RFD4ProteinaEncoderOutput

класс diffusers.models.autoencoders.autoencoder_rfd4_proteina.RFD4ProteinaEncoderOutput

< >

( latent: Tensormean: typing.Optional[torch.Tensor] = Nonelog_scale: typing.Optional[torch.Tensor] = None )

Параметры

  • 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

< >

( coordinates: Tensorresidue_type: typing.Optional[torch.Tensor] = Noneemit_mask: typing.Optional[torch.Tensor] = Noneatom_mask: typing.Optional[torch.Tensor] = None )

Параметры

  • 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.

Update on GitHub