Diffusers documentation
RFD4ProteinaAutoencoder
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
< source >( 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
< 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
Параметры
- 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
< 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
Параметры
- 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
< 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
Параметры
- 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
< source >( 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
< source >( 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.