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
class diffusers.RFD4ProteinaAutoencoder
< source >( atom37_mask: Sequenceallowed_residue_types: Sequencelatent_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 = ('token_type', 'x1_a37coors_nm', 'x1_a37coors_nm_rel', 'chain_idx_seq', 'incident_bond_type_counts', 'atom37_element_charge_embedding')decoder_feats_seq: tuple = ('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
< 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)。トークンがパディングではなく実データであることを示すマスク。 - 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
< 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) —(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
< 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) —(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
< source >( latent: Tensormean: typing.Optional[torch.Tensor] = Nonelog_scale: typing.Optional[torch.Tensor] = None )
(batch, tokens, latent_dim) の形状を持つ、サンプリングされた潜在変数とガウス分布のパラメータです。
RFD4ProteinaDecoderOutput
class 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 )
デコードされた分子座標および離散的なatom37トポロジー。