Diffusers documentation

RFD4ProteinaTransformer

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

RFD4ProteinaTransformer

Денойзер RFD4-Proteína. Он предсказывает скорости для двух модальностей, которые интегрирует сэмплер, — позиции CA каркаса и локальные латенты для каждого токена — на основе подготовленных молекулярных тензоров. Входы представляют собой именованные тензоры и отображение условий, содержимое которого определяется конфигурацией чекпоинта; парсинг структуры не входит в обязанности этого класса.

from diffusers import RFD4ProteinaTransformer

transformer = RFD4ProteinaTransformer.from_pretrained(
    "nvidia/RFD4-Proteina-Diffusers", subfolder="transformer"
)

RFD4ProteinaTransformer

класс diffusers.RFD4ProteinaTransformer

< >

( 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[str, ...] = ('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[str, ...] = ('time_emb_bb_ca', 'time_emb_local_latents', 'cath_code', 'recycle_remaining')feats_pair_repr: tuple[str, ...] = ('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[str, ...] = ('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 )

Параметры

  • nlayers (int, по умолчанию 14) — Количество слоёв ствольной части.
  • token_dim (int, по умолчанию 768) — Ширина представления токена.
  • nheads (int, по умолчанию 12) — Количество головок внимания на слой.
  • dim_cond (int, по умолчанию 256) — Ширина вектора условий (время, индекс повторного использования, метка CATH).
  • pair_repr_dim (int, по умолчанию 384) — ширина представления пары.
  • latent_dim (int, по умолчанию 32) — Ширина локального латентного представления для каждого токена.
  • token_type_emb_dim (int, по умолчанию 32) — Ширина эмбеддинга типа токена.
  • cath_emb_dim (int, по умолчанию 32) — Ширина каждого эмбеддинга класса/архитектуры/топологии CATH.
  • t_emb_dim (int, по умолчанию 256) — ширина синусоидального эмбеддинга времени.
  • seq_sep_dim (int, по умолчанию 64) — Количество интервалов длины пути связи.
  • xt_pair_dist_dim (int, по умолчанию 30) — Количество бинов парных расстояний в backbone.
  • xt_pair_dist_min (float, по умолчанию 0.1), xt_pair_dist_max (float, по умолчанию 3.0) — Диапазон расстояний между парами в нанометрах.
  • feats_seq, feats_cond_seq, feats_pair_repr, feats_pair_cond (list[str]) — Имена признаков, проецируемых во входные токены, условия, пары и пары-условия.
  • update_pair_repr_every_n (int, по умолчанию 2) — Как часто представление пары обновляется на основе токенов между слоями.
  • tri_mult_c (int, по умолчанию 256) — Скрытая ширина треугольного умножения в этих обновлениях.
  • num_token_types (int, по умолчанию 7) — Размер словаря типов токенов: белок, РНК, ДНК, атомизированный, неизвестный, гликан и неканоническая аминокислота.
  • recycle_conditioning_dim (int, по умолчанию 1) — ширина one-hot recycle_remaining, если эта особенность входит в feats_cond_seq.
  • num_sequence_classes (int, по умолчанию 147) — Размер словаря остатков, который предсказывает выходная последовательность.

Шумоподавитель скорости RFD4 с парным бэкбоном и локально-латентными модальностями.

Модель работает в собственном dtype: загружайте её с dtype=torch.bfloat16 для инференса с пониженной точностью. Состояние выборки, передаваемое в forward, остаётся в float32; эмбеддинги признаков вычисляются в float32 и приводятся к типу на входной проекции.

forward

< >

( 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

Параметры

  • bb_ca (torch.Tensor) — Координаты шумного бэкбона (batch, tokens, 3) в нанометрах.
  • local_latents (torch.Tensor) — Зашумленные локальные латенты (batch, tokens, latent_dim).
  • bb_ca_time (torch.Tensor) — (batch,) время бэкбона в диапазоне [0, 1].
  • local_latents_time (torch.Tensor) — (batch,) локальное латентное время в диапазоне [0, 1].
  • 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], необязательный) — Остальные тензоры топологии и условий, под ключами, которые выдаёт препроцессор. Какие из них читаются, определяется по feats_seq, feats_cond_seq, feats_pair_repr и feats_pair_cond в контрольной точке; если ключ, запрошенный настроенной функцией, отсутствует, эта функция остаётся без условий, а не вызывает ошибку.
  • recycle_depth (int, по умолчанию 0) — Количество проходов по стволу; значение ноль всё равно выполняет один проход.
  • attention_kwargs (dict, необязательный) — Извлекается только scale, который используется как масштаб LoRA для этого вызова.
  • return_dict (bool, по умолчанию True) — возвращает типизированный вывод или кортеж полей, отличных от None.

Возвращает

RFD4ProteinaTransformerOutput или tuple

Скорости backbone/локальных латентов и необязательные логиты последовательности/вставки, до интеграции с планировщиком.

Предсказывайте скорости из подготовленных молекулярных тензоров без продвижения сэмплера.

RFD4ProteinaTransformerOutput

класс diffusers.models.transformers.transformer_rfd4_proteina.RFD4ProteinaTransformerOutput

< >

( backbone: Tensorlocal_latents: typing.Optional[torch.Tensor] = Nonesequence_logits: typing.Optional[torch.Tensor] = Noneinsertion_logits: typing.Optional[torch.Tensor] = None )

Параметры

  • backbone (torch.Tensor) — Скорость каркаса формы (batch, tokens, 3), в нанометрах за единицу времени.
  • local_latents (torch.Tensor) — Скорость латентов с формой (batch, tokens, latent_dim).
  • sequence_logits (torch.Tensor, необязательный) — Логиты остатков с формой (batch, tokens, 147).
  • insertion_logits (torch.Tensor, необязательный) — Логиты присваивания вставки формы (batch, tokens, tokens).

Прогнозы денуайзера до интеграции планировщика.

Update on GitHub