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

class 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) — トークンタイプ語彙のサイズ: protein、RNA、DNA、atomized、unknown、glycan、および非標準アミノ酸。
  • allowed_residue_types (list[list[bool]]) — 各トークンタイプがデコード可能な残基クラスを示す(num_token_types, n_residue_types)のテーブル
  • nlayers (int、デフォルトは 12) — エンコーダーとデコーダーそれぞれの Trunk レイヤー数。
  • token_dim (int、デフォルトは768) — トークン表現の幅。
  • nheads (int, デフォルトは 12) — 各レイヤーあたりのアテンションヘッド数。
  • dim_cond (int、デフォルトは 128) — 条件付けベクトル(未使用、ゼロ)の幅。
  • pair_repr_dim (int、デフォルトは 256) — トランク層を構築する際に使用されるペアの幅です。公開されている autoencoder はペアのバイアスを使用していないため、このパラメータには重みが含まれません。
  • 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)。トークンがパディングではなく実データであることを示すマスク。
  • token_type (torch.Tensor, 任意) — (batch, tokens) のトークンタイプコード。
  • atom37_mask (torch.Tensor, 任意) — (batch, tokens, 37)。アトムスロットが使用されている箇所が true になります。
  • conditioning (dict[str, Any]、省略可) — プリプロセッサが出力するキーの下にある、残りのトポロジーおよび条件付けテンソル。
  • generator (torch.Generator または list[torch.Generator]、省略可) — 独立した確率的潜在サンプルのために、バッチの各行ごとに1つのジェネレーターを使用します。指定しない場合、サンプリングはグローバルストリームから行われます。
  • 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) — (batch, tokens, 3) ナノメートル単位で表された backbone の CA 原子の座標。
  • padding_mask (torch.Tensor) — (batch, tokens)。トークンがパディングではなく実データであることを示すマスク。
  • 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)。エミッションされないアトムの座標はゼロです。

per-token latentsとbackbone positionsをデコードして、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) — (batch, tokens, 3) ナノメートル単位で表された backbone の CA 原子の座標。
  • padding_mask (torch.Tensor) — (batch, tokens)。トークンがパディングではなく実データであることを示すマスク。
  • 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

class 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)。出力された latent トークンの外部はゼロ。
  • mean (torch.Tensor) — ガウシアン平均。出力された潜在トークンの外部ではゼロです。
  • log_scale (torch.Tensor) — 対数標準偏差。出力された潜在トークンの外部はゼロです。

(batch, tokens, latent_dim) の形状を持つ、サンプリングされた潜在変数とガウス分布のパラメータです。

RFD4ProteinaDecoderOutput

class 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